Журнал использования таблиц базы данных, функций, хранимых процедур, представлений и т. Д. - PullRequest
1 голос
/ 03 августа 2009

Я работаю в системе, основанной на базе данных SQL-сервера, которая много лет занимается разработкой. Это не очень большой объем данных (несколько ГБ), но он очень сложен (сотни таблиц, сотни хранимых процедур).

Я хочу начать с очистки вещей, которые больше не используются. У нас есть еженедельный / ежемесячный / квартальный / годовой цикл, который будет означать, что некоторые материалы не будут использоваться в течение года. Однако, если есть короткий список вещей, которые не использовались в течение нескольких месяцев, мы могли бы решить путем проверки, если они все еще полезны.

Мое намерение - начать регистрировать доступ ко всем объектам базы данных. У меня есть некоторые идеи, но мне бы хотелось, чтобы журнал превратился в список вещей, которые не используются. У меня есть несколько идей, но мне нужна помощь специалиста.

edit : Я также хотел бы прояснить, что я могу видеть доступ к таблицам / представлениям, а также к сохраненным процедурам и функциям.

Ответы [ 3 ]

1 голос
/ 03 августа 2009

Это аналогичный вопрос, конкретно задаваемый при использовании хранимых процедур: Как записать частоту и время последнего использования хранимой процедуры?

1 голос
/ 03 августа 2009

Вы проверяете sys.dm_db_index_usage_stats: последнее обновление сохраняется в столбце last_user_update, а последнее SELECT сохраняется в одном из last_user_seek, last_user_scan или last_user_lookup. Обратите внимание, что счетчики сбрасываются при запуске SQL Server, поэтому вам необходимо запустить приложение и тщательно проверить каждую функцию, чтобы получить соответствующие результаты.

Для хранимой процедуры вы должны запустить трассировку сервера, отслеживающую событие SP:Starting. После того, как ваши тесты будут запущены, снова выполните все функции продукта, остановите трассировку и используйте агрегатные функции SQL для подсчета различных вхождений имен процедур в TextData в файле трассировки. Вы читаете трассировку с fn_trace_gettable.

0 голосов
/ 03 августа 2009

Хорошо, я бы предложил SQL profiler, но вам нужно быть осторожным, если он выполняется, потому что он приводит к снижению производительности при выполнении трассировки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...