none
Ler arquivo de log(LDF) RRS feed

  • Pergunta

  • Olá,

    No meu projeto de graduação estou tentando desenvolver um middleware que identifica alteração dos
    dados numa base sql server e manda sinais para minha aplicação.

    Estou pensando em identificar essas alterações por meio do Log File(LDF), mas não estou conseguindo achar nada que me permita fazer isso.

    Alguém conhece alguma API ou DLL que auxilie nisso ?

    Grato.

    Bruno Santos


    terça-feira, 30 de junho de 2009 21:14

Respostas

Todas as Respostas

  • Boa Noite,

    Não é possível ler o log do SQL Server de forma nativa. A Microsoft não disponibiliza nenhuma ferramenta, API ou DLL para fazê-lo. É possível ler com ferramentas de terceiros (há várias referências sobre isso no fórum), mas ainda assim, a leitura não é feita via API e sim através de uma interface gráfica.

    Você poderia tentar utilizar outros artifícios como Triggers DDL, Event Notification, SQL Trace ou o Notification Services.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    O que é Cross Database Ownership Chaining ?
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!620.entry
    Classifique as respostas. O seu feedback é imprescindível
    quarta-feira, 1 de julho de 2009 00:44
  • Bruno,

    Completando a resposta do Gustavo, sugiro utilizar a ferramenta da Red-Gate, chamada Log-Rescue.


    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quarta-feira, 1 de julho de 2009 17:50
  • Junior,

          Apenas complementando sua resposta... O Log Rescue é excelente, mas só é compatível com o SQL 2000.
    MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008
    quarta-feira, 1 de julho de 2009 18:54
    Moderador
  • Boa Noite caros colegas,

    Eu achei alguns softwares que conseguem ler o LDF, entre eles o Log Rescue, mas acabei testando um que chama ApexSqlLog.
    O software é bom, e funcionou até com Sql Server 2008.
    Entretanto não é isso que eu procuro, queria mesmo um dll ou seja lá o que for que me permitisse a leitura do log a partir da minha aplicação.

    Conforme o Gustavo falou a Microsoft não disponibiliza isso, mas fico pensando como essas empresas conseguiram desenvolver essas aplicações ?
    Será parceria entre essas e a Microsoft ?
    quarta-feira, 1 de julho de 2009 21:31
  • Bruno,

    Como já postaram, somente com ferramentas prontas você conseguirá ler os LDFs.

    Caso você queira se aventurar um pouco, dá uma olhada neste pdf:
    https://www.blackhat.com/presentations/bh-usa-07/Fowler/Presentation/bh-usa-07-fowler.pdf

    Também tem um comando não documentado:
    DBCC LOG(<database name>[,{0|1|2|3|4|-1}])
    0 - Basic Log Information (default)
    1 - Lengthy Info
    2 - Very Length Info
    3 - Detailed
    4 - Full
    -1 - Complete Information
    Exemplo:
    DBCC log (MY_DB, 4)

    Porém não entendi direito o que ele retorna.

    http://www.mssqlcity.com/Articles/KnowHow/ViewLog.htm


    Abraços,

    Cassiano
    quinta-feira, 2 de julho de 2009 13:15