Краткий ответ - «нет».Во-первых, нет надежного способа определить, является ли одна таблица «резервная / временная» или это таблица «реальных данных».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()
Однако это не надежно.Эта статистика не сохраняется во время перезапусков, поэтому вы можете пропустить последнее использование таблицы.Кроме того, у вас может быть некоторое автоматизированное обслуживание индексов, которое перестроит индексы, и таблица может выглядеть как использованная.Кроме того, что, если это просто редко используется?Только в начале года, чтобы запустить отчет за прошлый год?
Все, что вы можете получить, это только подсказки, что может не используется.Иди к своим коллегам и спроси.Переименуйте таблицы и подождите, пока кто-нибудь начнет кричать.Но надежного способа получить такую информацию не существует.