sql >> Base de Datos >  >> RDS >> Sqlserver

Microsoft SQL Server:¿Alguna forma de saber cuándo se creó un registro?

No.

Necesitas tener una columna para esto.

¡Imagínese cuán grandes serían los metadatos si necesitara mantener un registro para cada registro para la creación! ¿Le gustaría también mantener los metadatos en sus metadatos para saber cuándo se actualizaron los metadatos? El uso del espacio puede escalar rápidamente.

SQL Server mantiene algunas estadísticas, pero algo tan específico deberá provenir de un campo definido por el usuario.

Como nota al margen, puede hacer que sea más difícil manipular la fecha en su campo creado si usa una tabla de búsqueda. Cree una tabla "TableName_CreateDate" y use el PK de su tabla real y un valor de fecha. Su fecha está en una ubicación separada y es menos probable que se modifique, pero aún puede JOIN en él para obtener su pedido. Debería crear un disparador para actualizar esto con nuevos valores.

Si solo desea la FECHA y no necesita un valor de fecha y hora, puede ir un paso más allá y solo tener una tabla de fechas y una tabla de búsqueda que se una a eso. Es decir:

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

Esto ahorraría mucho espacio en el disco si tiene muchas filas (creo que 4 bytes por fila).