Планы выполнения запросов в реальном времени при отладке скрипта T-SQL

У меня есть SQL Server 2008 и SSMS 2008, и я отлаживаю скрипт. Я могу выполнить сценарий без каких-либо проблем, но если я нажму кнопку на панели инструментов для «Включить фактический план выполнения» (тот, который добавляет дополнительную вкладку результатов с планом выполнения), я больше не смогу отлаживать.

Вместо этого, когда я нажимаю кнопку "Отладка", отладка запускается и сразу же снова останавливается, а в области результатов сообщается, что мой поток успешно завершен.

Должен ли я представить это как ошибку, или просмотр плана отладки и выполнения по своей сути не идет рука об руку (хотя я не уверен, почему бы и нет)?


person SqlRyan    schedule 16.07.2009    source источник


Ответы (1)


Вы можете использовать SQL Server Profiler для возврата фактических планов выполнения. С помощью Profiler вы сможете видеть планы выполнения, не мешая отладке. Примером может быть:

  • начать новую трассировку
  • выберите шаблон Tuning
  • перейдите на вкладку Выбор событий
  • выберите Показать все события.
  • разверните Производительность и выберите Профиль статистики Showplan XML.

Вы можете добавить в трассировку любые другие события и столбцы, а также соответствующим образом отфильтровать трассировку — например, вы можете начать отладку, а затем отфильтровать трассировку только по отлаживаемому SPID.

Когда вы выполняете (или даже просто запускаете) свой скрипт, все планы выполнения появляются в Profiler.

person Ross Bradbury    schedule 12.07.2011
comment
Это подходящий обходной путь, но я всегда считал, что сообщаю об этом как об ошибке команде по подключению, чтобы узнать, что они ответят. - person SqlRyan; 12.07.2011