Verificando quando uma linha foi inserida em uma tabela no SQL Server?

8

É possível verificar quando uma linha específica foi inserida em uma tabela específica no SQL Server? A tabela possui um índice, se isso ajudar.

E eu preciso fazer isso para uma tabela existente onde a linha já está sendo inserida.

Obrigado.

dublintech
fonte

Respostas:

7

Para fazer isso retrospectivamente, você pode fazer isso inspecionando o conteúdo do log de transações para identificar quando a inserção ocorreu, é claro que você precisa ter acesso ao log de transações relevante que contém os detalhes.

Aqui está uma explicação de como você inspecionaria o log de transações para localizar um evento de queda de tabela , mas o processo que você seguiria é basicamente o mesmo.

Se a auditoria desse nível é realmente algo que é necessário, sua melhor aposta é incorporá-la à sua solução geral, seja através do uso de DML Triggers, CDC ou Change Tracking ou de uma solução personalizada.

John Sansom
fonte
1

Os logs de transações contêm essas informações. Você pode usar algumas ferramentas de terceiros para ler logs de transações e backups de log de transações. Eles podem fornecer quando a linha foi inserida para as transações que ocorreram antes mesmo de serem instaladas.

Além da informação de quando e do que aconteceu, eles podem fornecer à OMS que o fez, o que pode ser muito útil

Carol Baker West
fonte