2016-12-07 3 views

答えて

0

システムストアドプロシージャの実行計画は、通常のストアドプロシージャと同じ場所に格納されます。少し奇妙として、これらのストライキ私の実行計画を必要とするため、実行計画を必要とする主な理由であるため、私はあなたが実際に定義した後であるかもしれないことを疑う

USE Master; 
SELECT c.plan_handle, q.query_plan 
FROM sys.dm_exec_cached_plans AS c 
CROSS APPLY sys.dm_exec_query_plan(c.plan_handle) AS q 
WHERE q.objectid = OBJECT_ID(N'dbo.sp_who'); 

:あなたはのようなものを使用してアクセスすることができます性能調整。 、

USE Master; 
SELECT [definition] 
FROM sys.system_sql_modules 
WHERE object_id = OBJECT_ID(N'dbo.sp_who'); 

またはSQL Server管理スタジオで

は、あなたが Databases > Programability > Stored Procedures > System Stored Procedures下の手順を見つけることができますし、右変更]をクリックして選択します:だからあなたはプロシージャ定義の後にあると仮定して、あなたが使ってこれを取得することができます

enter image description here

+0

こんにちはGarethD、ありがとうございました。私はあなたの例をよく理解していました。だからSqlserverのデフォルト(inbuilt)ストアドプロシージャも計画キャッシュに計画を持っている?私を案内してください –

+0

私の答えの最初のクエリは、あなたにキャッシュからクエリプランを与えるでしょう。 – GarethD

+0

ありがとうございます。とった。 –

関連する問題