Как найти неиспользованные таблицы в SQL Server

Существует ли способ узнать, когда данные в последний раз вводились в таблицу? Я пытаюсь найти устаревшие таблицы в своей базе данных и хотел бы знать, существует ли простой скрипт, который я могу запустить?

7
задан Neil Knight 1 March 2010 в 12:20
поделиться

2 ответа

Вы можете попробовать проверить результаты запроса 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 - это бесплатно)

8
ответ дан 7 December 2019 в 03:15
поделиться

Если это важно для вашего приложения (приложений) и/или компании, и таблицы были спроектированы правильно, то в каждой таблице должен быть столбец под названием что-то вроде 'LastModifiedTime'. Вы можете запросить эту таблицу, чтобы определить, какие таблицы устарели.

0
ответ дан 7 December 2019 в 03:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: