Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Microsoft SQL Server:Alguma maneira de saber quando um registro foi criado?


Não.

Você precisa ter uma coluna para isso.

Imagine o tamanho dos metadados se você precisasse manter um registro para cada registro para criação! Você também gostaria de manter metadados em seus metadados para saber quando os metadados foram atualizados? O uso do espaço pode aumentar rapidamente.

O SQL Server mantém algumas estatísticas, mas algo tão específico precisará vir de um campo definido pelo usuário.

Como uma observação lateral, você pode dificultar a adulteração da data em seu campo criado se usar uma tabela de pesquisa. Crie uma tabela "TableName_CreateDate" e use o PK da sua tabela real e um valor de data. Sua data está em um local separado e menos provável de ser modificada, mas você ainda pode JOIN nele para obter o seu pedido. Você precisaria criar um gatilho para atualizar isso com novos valores.

Se você deseja apenas a DATA e não precisa de um valor de data e hora, você pode dar um passo adiante e ter apenas uma tabela de datas e uma tabela de pesquisa que se une a isso. Ou seja:

Table->Table.PK + Date.Pk -> DateTable

Isso economizaria muito espaço em disco se você tiver muitas linhas (4 bytes por linha, eu acho).