При выполнении запросов T-SQL через Management Studio я могу использовать SET STATISTICS PROFILE ON
для сбора статистики и плана выполнения запроса в красивом текстовом формате.
Как я могу собрать план выполнения запроса после выполнения хранимых процедур, чтобы я мог анализировать его программно, а не анализировать его визуально на вкладке «Сообщения» SSMS?
Я могу использовать SET SHOWPLAN_ALL ON
, но я хотел бы видеть фактический план, а не предполагаемый, и у него та же проблема: как автоматически получить результат?
Я также могу получить план XML из DMV, но мне интересно, как я могу получить план в текстовом формате.
Я нашел очень похожий пост здесь а> но это не так
вот пример того, что я называю "красивым текстовым форматом":
|--Nested Loops(Inner Join, OUTER REFERENCES:([AdventureWorks].[Person].[Address].[AddressID]))
|--Filter(WHERE:(STARTUP EXPR(suser_sname()=CONVERT_IMPLICIT(nvarchar(4000),[@2],0))))
| |--Index Scan(OBJECT:([AdventureWorks].[Person].[Address].[IX_Address_StateProvinceID]))
|--Clustered Index Seek(OBJECT:([AdventureWorks].[Person].[Address].[PK_Address_AddressID]), SEEK:([AdventureWorks].[Person].[Address].[AddressID]=[AdventureWorks].[Person].[Address].[AddressID]), WHERE:([AdventureWorks].[Person].[Address].[City]=N'Snohomish') LOOKUP ORDERED FORWARD)