Есть ли способ узнать, когда данные были в последний раз введены в таблицу? Я пытаюсь найти устаревшие таблицы в моей базе данных и хотел бы знать, есть ли простой сценарий (ы), который я могу запустить?Как найти неиспользуемые таблицы в SQL Server
ответ
Вы можете попробовать проверить результаты запросов к sys.dm_db_index_usage_stats Dynamic Management View, как это:
SELECT *
FROM sys.dm_db_index_usage_stats
WHERE [database_id] = DB_ID()
AND [object_id] = OBJECT_ID('TableName')
Это будет возвращать вещи, как last_user_seek, сканирование и обновление даты на индексах таблицы.
Howvever, остерегайтесь, поскольку статистика для представления динамического управления сбрасывается при перезапуске сервера. Чем дольше сервер работает, тем больше уверенности вы можете получить, если в отчетах нет активности.
лично я хотел бы также проверять весь исходный код для проверки ссылок на таблицы в вопросе, и поиск все sprocs/UDF, для ссылок тоже (вы можете использовать SQL Search from Red Gate, чтобы это сделать - это бесплатно)
Если это важно для ваших приложений и/или компаний, а таблицы были разработаны правильно, то каждая таблица должна иметь столбец, называемый «LastModifiedTime». Вы можете запросить эту таблицу, чтобы определить, какие таблицы устарели.
К сожалению, я не проектировал исходную базу данных. Поэтому мне было интересно, есть ли что-то в таблицах базы данных sys, которые я мог бы запросить, чтобы узнать, какие таблицы больше не используются или не использовались в то время. –
Если любой ищет все неиспользуемые таблицы в базе данных (больше запроса заголовка, чем вопрос), this guy имел хороший запрос для внесения всех неизменных таблиц в базу данных. В этом случае «неизмененным» является любая таблица без записи в sys.dm_db_index_usage_stats
(опять же, как и с ответа AdaTheDev, только после перезагрузки последнего сервера 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. MySQL найти неиспользуемые таблицы
- 2. SQL Server - удалить неиспользуемые строки
- 3. Как найти неиспользуемые переменные в sql-скрипте?
- 4. Mysql - Найти неиспользуемые таблицы и столбцы
- 5. Как найти неиспользуемые поля в таблице
- 6. SQL запрос, чтобы найти неиспользуемые записи
- 7. Найти последнюю запись из таблицы sql server
- 8. Как найти запрос на создание таблицы в SQL Server 2008
- 9. Как найти строки же значения в столбце таблицы SQL Server
- 10. Из C#, как найти имена столбцов таблицы в SQL Server?
- 11. Как найти неиспользуемые настройки django
- 12. Как найти неиспользуемые габаритные зависимости
- 13. Как найти неиспользуемые репозитории Gradle
- 14. Как найти неиспользуемые зависимости sbt?
- 15. Elm найти неиспользуемые функции
- 16. Найти неиспользуемые переменные
- 17. Найти неиспользуемые функции Javascript?
- 18. Как найти повторяющиеся значения в SQL Server
- 19. Найти неиспользуемые функции в модуле
- 20. Как удалить неиспользуемые строки из таблицы БД с помощью SQL?
- 21. Как найти неиспользуемые свойства в pom
- 22. Как найти неиспользуемые функции в PHP-проекте
- 23. Как найти неиспользуемые библиотеки в проекте vb.net
- 24. SQL server 2000 как найти историю транзакций для таблицы/строки
- 25. Как найти общее количество строк для таблицы SQL Server
- 26. Найти различные группы внутри таблицы в SQL Server
- 27. Завершение таблицы SQL Server
- 28. Найти отсутствующие записи в присоединяемой таблицы SQL Server
- 29. Найти если элемент существует в XML-столбце таблицы SQL Server
- 30. Вложенные таблицы в SQL Server
Это именно то, что я искал. Благодаря! : О) –