Как я могу найти запрос, вызывающий отсутствующие индексные DMV, предлагающие создать определенный индекс?
Спасибо.
Как я могу найти запрос, вызывающий отсутствующие индексные DMV, предлагающие создать определенный индекс?
Спасибо.
Ответы:
Краткий ответ: вы не можете со 100% точностью.
Длинный ответ: вы можете запросить кэш планов, чтобы определить планы с отсутствующими индексными предупреждениями и сравнить результаты с результатами, найденными в sys.dm_db_missing_index_ * DMV. Вот скрипт, который вы можете использовать для запроса кеша плана . Если по какой-либо причине план не кэшируется или не выгружается из кеша, совпадений не будет, поэтому мы вернемся к краткому ответу.
Чтобы быть на 100% уверенным, вам придется отслеживать рабочую нагрузку и фиксировать планы с отсутствующими индексами. Это не легкий и не тривиальный. Вот скрипт для этого . С небольшим усилием его можно перенести на расширенные события.
Запрос к кэшу плана для поиска индексов, участвующих в вычислении поиска отсутствующих индексов DMV, можно посмотреть по вставленной ниже ссылке:
и обратитесь к ссылке, а также для более подробного объяснения того же
http://blogs.lessthandot.com/index.php/datamgmt/dbadmin/sql-server-dba-tip-missing-index-dmv/