Identificando a data do último update em uma tabela

Recentemente um aluno me perguntou como poderia identificar quando ocorreu uma atualização em uma tabela. Para ajudá-lo, recomendei utilizar a dynamic management view (DMV) sys.dm_db_index_usage_stats.

Essa dmv retorna a contagem de índices e a data e hora da última operação realizada.

Vamos ao teste.

Primeiro, vamos criar uma tabela chamada dbo.Tabela1:

CREATE DATABASE DBTESTE
GO

CREATE TABLE dbo.Tabela1 (
C1 int PRIMARY KEY,
C2 varchar(30)
)
GO

A seguir, vamos inserir alguns registros na tabela Tabela1:

USE DBTESTE
GO
INSERT INTO dbo.Tabela1 VALUES (1, 'Caracter1')
INSERT INTO dbo.Tabela1 VALUES (2, 'Caracter2')
INSERT INTO dbo.Tabela1 VALUES (3, 'Caracter3')
INSERT INTO dbo.Tabela1 VALUES (4, 'Caracter4')
INSERT INTO dbo.Tabela1 VALUES (5, 'Caracter5')
GO

SELECT C1, C2 FROM dbo.Tabela1
GO

Abaixo os registros inseridos na tabela:

consulta_tabela1

Agora, atualizaremos um registro da tabela Tabela1:

UPDATE dbo.Tabela1
SET C2 = 'Caracterum'
WHERE C1 = 1
GO

SELECT C1, C2 FROM dbo.Tabela1
GO

Podemos observar que o registro 1 sofreu alteração na coluna C2:

consulta_tabela1_alterada

Para identificar a data da alteração, vamos executar a query abaixo usando a DMV:

SELECT OBJECT_NAME(OBJECT_ID) AS TableName, Last_user_update, database_id, [object_id]
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID('dbteste')
AND OBJECT_ID = OBJECT_ID('dbo.tabela1')
GO

Podemos observar no resultado da query a data da última atualização na tabela:

resultado_tabela

Abraços e até a próxima.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s