¿Hay alguna manera de averiguar cuándo se ingresaron los datos por última vez en una tabla? Estoy tratando de encontrar tablas obsoletas dentro de mi base de datos y me gustaría saber si hay un script simple que pueda ejecutar.Cómo encontrar tablas no utilizadas en SQL Server
Respuesta
Usted podría tratar de comprobar los resultados de la consulta de la sys.dm_db_index_usage_stats vista dinámica de gestión de la siguiente manera:
SELECT *
FROM sys.dm_db_index_usage_stats
WHERE [database_id] = DB_ID()
AND [object_id] = OBJECT_ID('TableName')
Esto devolverá cosas como el last_user_seek, escanear y fechas de actualización en los índices de la tabla.
Sin embargo, tenga en cuenta que las estadísticas de la vista de administración dinámica se restablecen cuando se reinicia el servidor. Cuanto más tiempo haya estado funcionando el servidor, más confianza tendrá si los registros no muestran actividad.
yo personalmente también sería comprobar todo el código fuente para comprobar si hay referencias a la tabla en cuestión, y buscando todos los sprocs/UDF de referencias demasiado (se puede utilizar SQL Search from Red Gate para hacer esto - es gratis)
Si esto es importante para su (s) aplicación (es) y/o empresa, y las tablas se diseñaron correctamente, entonces cada tabla debe tener una columna llamada algo como 'LastModifiedTime'. Puede consultar esta tabla para determinar qué tablas están obsoletas.
Desafortunadamente, no diseñé la base de datos inicial. Por lo tanto, me preguntaba si hay algo en las tablas de la base de datos sys que pueda consultar para averiguar qué tablas ya no se usan o si no se han utilizado por un tiempo. –
Si cualquiera está buscando todas las tablas no utilizadas en una base de datos (más la solicitud del título que el cuerpo de la pregunta), this guy tenía una buena consulta para traer todas las tablas inalteradas en una base de datos. En este caso, "inalterado" es cualquier tabla sin una entrada en sys.dm_db_index_usage_stats
(nuevamente, como con la respuesta de AdaTheDev, solo desde el último reinicio del servidor sql).
SELECT OBJECTNAME = Object_name(I.object_id),
INDEXNAME = I.name,
I.index_id
FROM sys.indexes AS I
INNER JOIN sys.objects AS O
ON I.object_id = O.object_id
WHERE Objectproperty(O.object_id, 'IsUserTable') = 1
AND I.index_id NOT IN (SELECT S.index_id
FROM sys.dm_db_index_usage_stats AS S
WHERE S.object_id = I.object_id
AND I.index_id = S.index_id
AND database_id = Db_id(Db_name()))
ORDER BY objectname,
I.index_id,
indexname ASC
- 1. Cómo puedo encontrar claves externas no indexadas en SQL Server
- 2. ¿Cómo encontrar valores duplicados en SQL Server
- 3. script tsql para encontrar tablas que no estén siendo utilizadas por procedimientos almacenados, vistas, funciones, etc.
- 4. SQL Server no puede encontrar el certificado
- 5. unen tres tablas en SQL Server 2005
- 6. SQL Server: columnas de índice utilizadas en like?
- 7. Uso de tablas temporales en SQL Server
- 8. Cómo puedo documentar tablas y campos en SQL Server 2005
- 9. Cómo encontrar variables de plantilla no utilizadas en Django
- 10. Combinar dos tablas en SQL Server 2008
- 11. APP izquierda se unen para encontrar las entradas no utilizadas
- 12. SQL Server - Cómo encontrar si existe un índice agrupado
- 13. tablas temporales globales - SQL Server vs Oracle
- 14. Encontrar fechas no válidas en SQL Server 2008
- 15. Sql server 2008, son tablas temporales únicas
- 16. SQL Server/Oracle: tablas temporales privadas
- 17. ¿Cómo 'restar' tablas sql?
- 18. Encontrar clases no utilizadas en la aplicación C#
- 19. ¿Encontrar imágenes no utilizadas en la aplicación Rails?
- 20. nombre de tablas y vistas en procedimiento almacenado en sql server 2005
- 21. ¿Cómo encontrar valores en mayúsculas en SQL Server?
- 22. ¿Cómo encontrar el puerto en ejecución de SQL Server?
- 23. tablas dinámicas en SQL Server con espacios en la celda
- 24. ¿Cómo puedo encontrar un índice deshabilitado en SQL Server 2008?
- 25. SQL Server SELECT INTO y bloqueo con tablas temporales
- 26. Eliminación de tablas temporales globales (## tempTable) en SQL Server
- 27. Cómo detectar propiedades no utilizadas en Spring
- 28. cómo encontrar quién bloquea quién en SQL Server 2005
- 29. Buscar intercalación no predeterminada en columnas para todas las tablas en SQL Server
- 30. Número máximo de tablas viables en SQL Server Y MySQL
Esto es exactamente lo que estaba buscando. ¡Gracias! : o) –