Encontrei esta solução, mas essa informação se perde toda vez que o serviço SQL Server é reiniciado, ou seja, não é persistente.
Existe outra maneira de descobrir quando uma tabela foi atualizada pela última vez, mesmo que o servidor tenha sido desligado após o fato?
Se os dados na outra solução forem aceitáveis para você, você poderá simplesmente rolar sua própria coleta de dados para fazê-la persistir. Por exemplo, crie uma tabela para armazenar object_id e last seek/scan/update. A cada n minutos, tire um instantâneo do DMV. Em seguida, verifique o máximo no instantâneo e, se for maior que o máximo no rollup, atualize o rollup. Você pode manter os instantâneos como histórico ou limpá-los ao longo do tempo após a união.
Se você tiver acesso ao SQL Server Enterprise Edition, confira o Controle de Alterações . Essa é uma solução bastante complexa, no entanto. Em última análise, pode ser mais fácil adicionar uma coluna LastUpdated, como já sugerido.
Eu também destacaria que você obterá uma melhor milhagem criando uma tabela de log (que acompanha inserções/exclusões/atualizações) ou adicionando sinalizadores com datas aos seus registros (o que custaria algum espaço adicional em disco por registro).
De qualquer forma, o SQL Server não acompanha isso por padrão, pois seria caro para bancos de dados de alta transação
Isso pode ser útil para você: