Планы выполнения запросов в реальном времени при отладке сценария T-SQL
-
16-09-2019 - |
Вопрос
У меня есть SQL Server 2008 и SSMS 2008, и я отлаживаю сценарий.Я могу выполнить сценарий без проблем, но если я нажму на панели инструментов кнопку «Включить фактический план выполнения» (ту, которая добавляет дополнительную вкладку результатов с планом выполнения), я больше не смогу выполнять отладку.
Вместо этого, когда я нажимаю кнопку «Отладка», отладка начинается и сразу же останавливается снова, а на панели результатов сообщается, что мой поток успешно завершился.
Должен ли я сообщить об этом как об ошибке, или же отладка и просмотр плана выполнения по своей сути не идут рука об руку (хотя я не уверен, почему они этого не делают)?
Решение
Вы можете использовать SQL Server Profiler для получения фактических планов выполнения.Используя Profiler, вы сможете видеть планы выполнения, не мешая отладке.Примером может быть:
- начать новый след
- выбрать Тюнинг шаблон
- пойти в Выбор событий вкладка
- выбирать Показать все события
- расширять Производительность и выбери Профиль статистики Showplan XML
Вы можете добавить в трассировку любые другие события и столбцы, которые хотите, а также соответствующим образом отфильтровать трассировку — например, вы можете начать отладку, а затем отфильтровать трассировку только по тому SPID, который вы отлаживаете.
По мере того, как вы выполняете (или даже просто запускаете) свой сценарий, все планы выполнения будут появляться в Profiler.