none
Transaction log query RRS feed

  • Pergunta

  • Pessoal, boa tarde!

    Fiz diversas pesquisas no google e não encontrei nada que pudesse esclarecer minha duvida, veja se podem me ajudar.

    Estou fazendo a consulta do transaction log de uma base de dados existente no meu DB server para fins de auditoria através da seguinte query;

    USE mydb go SELECT [Current LSN], [Transaction ID], [Operation], [Transaction Name], [CONTEXT], [AllocUnitName], [Page ID], [Slot ID], [Begin Time], [End Time], [Number of Locks], [Lock Information] FROM sys.fn_dblog(NULL,NULL) WHERE Operation IN ('LOP_INSERT_ROWS','LOP_MODIFY_ROW', 'LOP_DELETE_ROWS','LOP_BEGIN_XACT','LOP_COMMIT_XACT')

    Com essa query eu consigo fazer a consulta porém essa consulta traz apenas dados das ultimas transação de teste que eu fiz eu gostaria de trazer todos os dados de transação deste DB desde da sua criação.

    Alguém pode apontar como posso chegar nesse resultado?

    Obrigado!!

    Fernando

    sexta-feira, 10 de março de 2017 18:18

Respostas

  • Olá Luiz_Fernando_B, tudo bem?

    A leitura do arquivo do Transaction Log é possível através da função fn_dblog() desde o último processo de CHECKPOINT, que é um processo do SQL Server que ocorre de tempos em tempos e em circunstâncias específicas, porém também pode ser feito manualmente. Desta maneira, para o que você está precisando não será possível. Alguns links para estudo:

    - http://www.pass.org/24hours/2015/portuguese/sessions/details.aspx?sid=40976 (É possível assistir essa sessão ao se logar no site do PASS)

    - https://vfava.wordpress.com/2010/03/15/o-processo-de-checkpoint/

    - https://sqlleroy.com/2016/01/04/backup-de-log-e-o-checkpoint-duvida-no-ar/ (complemento)

    O mais interessante para o seu caso poderá ser a utilização do Server Audit. Saiba mais lendo esse artigo http://zavaschi.com/index.php/2011/01/auditoria-no-sql-server-sql-audit/ e esse https://www.dirceuresende.com/blog/auditoria-sql-server-audit-dml-ddl/

    []'s

    Paulo Daniel Nobre
    https://www.linkedin.com/in/paulodanielnobre

    • Marcado como Resposta Luiz_Fernando_B sexta-feira, 10 de março de 2017 20:28
    sexta-feira, 10 de março de 2017 20:18
  • Já tentou sem o where

    USE mydb
    go
    SELECT
     [Current LSN],
     [Transaction ID],
     [Operation],
      [Transaction Name],
     [CONTEXT],
     [AllocUnitName],
     [Page ID],
     [Slot ID],
     [Begin Time],
     [End Time],
     [Number of Locks],
     [Lock Information]
    FROM sys.fn_dblog(NULL,NULL)

    • Marcado como Resposta Luiz_Fernando_B sexta-feira, 10 de março de 2017 20:27
    sexta-feira, 10 de março de 2017 18:54

Todas as Respostas

  • Já tentou sem o where

    USE mydb
    go
    SELECT
     [Current LSN],
     [Transaction ID],
     [Operation],
      [Transaction Name],
     [CONTEXT],
     [AllocUnitName],
     [Page ID],
     [Slot ID],
     [Begin Time],
     [End Time],
     [Number of Locks],
     [Lock Information]
    FROM sys.fn_dblog(NULL,NULL)

    • Marcado como Resposta Luiz_Fernando_B sexta-feira, 10 de março de 2017 20:27
    sexta-feira, 10 de março de 2017 18:54
  • Este link mostra com usar a função sys.fn_dblog

    http://solutioncenter.apexsql.com/pt/lendo-um-sql-server-transaction-log/

    sexta-feira, 10 de março de 2017 19:00
  • Olá Luiz_Fernando_B, tudo bem?

    A leitura do arquivo do Transaction Log é possível através da função fn_dblog() desde o último processo de CHECKPOINT, que é um processo do SQL Server que ocorre de tempos em tempos e em circunstâncias específicas, porém também pode ser feito manualmente. Desta maneira, para o que você está precisando não será possível. Alguns links para estudo:

    - http://www.pass.org/24hours/2015/portuguese/sessions/details.aspx?sid=40976 (É possível assistir essa sessão ao se logar no site do PASS)

    - https://vfava.wordpress.com/2010/03/15/o-processo-de-checkpoint/

    - https://sqlleroy.com/2016/01/04/backup-de-log-e-o-checkpoint-duvida-no-ar/ (complemento)

    O mais interessante para o seu caso poderá ser a utilização do Server Audit. Saiba mais lendo esse artigo http://zavaschi.com/index.php/2011/01/auditoria-no-sql-server-sql-audit/ e esse https://www.dirceuresende.com/blog/auditoria-sql-server-audit-dml-ddl/

    []'s

    Paulo Daniel Nobre
    https://www.linkedin.com/in/paulodanielnobre

    • Marcado como Resposta Luiz_Fernando_B sexta-feira, 10 de março de 2017 20:28
    sexta-feira, 10 de março de 2017 20:18