Существует ли способ узнать, когда данные в последний раз вводились в таблицу? Я пытаюсь найти устаревшие таблицы в своей базе данных и хотел бы знать, существует ли простой скрипт, который я могу запустить?
Вы можете попробовать проверить результаты запроса sys.dm_db_index_usage_stats Представление динамического управления, подобное этому:
SELECT *
FROM sys.dm_db_index_usage_stats
WHERE [database_id] = DB_ID()
AND [object_id] = OBJECT_ID('TableName')
Это вернет такие вещи, как last_user_seek, сканирование и обновление дат индексов в таблице.
Тем не менее, будьте осторожны, так как статистика для представления динамического управления сбрасывается при перезапуске сервера. Чем дольше работает сервер, тем больше у вас уверенности, если записи не показывают активности.
Лично я также проверял бы весь исходный код, чтобы проверить ссылки на рассматриваемую таблицу, а также искать ссылки во всех sprocs / UDF (для этого можно использовать SQL Search из Red Gate - это бесплатно)
Если это важно для вашего приложения (приложений) и/или компании, и таблицы были спроектированы правильно, то в каждой таблице должен быть столбец под названием что-то вроде 'LastModifiedTime'. Вы можете запросить эту таблицу, чтобы определить, какие таблицы устарели.