Найти временные физические таблицы из базы данных SQL Server - PullRequest
0 голосов
/ 26 ноября 2018

База данных, которую я использую, имеет 800 + физические таблицы , некоторые из которых являются резервными / временными таблицами, которые сейчас не используются.

Есть ли запрос для поискаиз временных физических таблиц из всей базы данных?

1 Ответ

0 голосов
/ 26 ноября 2018

Краткий ответ - «нет».Во-первых, нет надежного способа определить, является ли одна таблица «резервная / временная» или это таблица «реальных данных».SQL Server не волнует, почему была создана одна таблица.

Одна вещь, которую вы можете сделать, это использовать статистика использования индекса , чтобы определить, когда в последний раз какой-либо индекс в этой таблице обновлялсяили прочитайте:

SELECT
    OBJECT_NAME(OBJECT_ID) AS TableName
    , last_user_update
    , last_user_seek
    , last_user_scan
    , last_user_lookup
    , last_system_update
    , last_system_seek
    , last_system_scan
    , last_system_lookup
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID()

Однако это не надежно.Эта статистика не сохраняется во время перезапусков, поэтому вы можете пропустить последнее использование таблицы.Кроме того, у вас может быть некоторое автоматизированное обслуживание индексов, которое перестроит индексы, и таблица может выглядеть как использованная.Кроме того, что, если это просто редко используется?Только в начале года, чтобы запустить отчет за прошлый год?

Все, что вы можете получить, это только подсказки, что может не используется.Иди к своим коллегам и спроси.Переименуйте таблицы и подождите, пока кто-нибудь начнет кричать.Но надежного способа получить такую ​​информацию не существует.

...