A pergunta:
SELECT
name AS TableName,
create_date AS CreatedDate,
modify_date as ModifyDate
FROM sys.tables
order by ModifyDate;
...me dirá a última vez que uma tabela foi criada e modificada (de uma perspectiva DDL). Mas eu quero saber a última vez que os dados reais foram inseridos ou removidos da tabela. É possível obter isso no SQL Server?
Você pode ter uma ideia de
mas os dados não persistem nas reinicializações do serviço e podem não ser precisos para seus requisitos (por exemplo, a execução
DELETE FROM T WHERE 1=0
atualizará o tempo, mesmo que nenhuma linha tenha sido excluída)Oi, você pode adicionar uma coluna (oculta) usando o recurso de tabela temporal, a tabela de histórico não é necessária se você quiser apenas rastrear quando foi a última atualização. Se você quiser rastrear exclusões, você precisará da tabela de histórico.
Atualizado datetime2(7) GERADO SEMPRE COMO ROW START HIDDEN NOT NULL,
dica de chapéu para meu amigo Daniel que me apresentou a ideia, muito mais detalhes em seu blog aqui
https://sqlsunday.com/2021/08/09/add-created-and-updated-timestamps/