-1
我們在SQl服務器中有內置存儲過程,我想知道執行計劃爲默認存儲過程構建的位置?爲exame:Sp_who2。執行計劃爲sqlserver中的默認存儲過程構建的位置?
我們在SQl服務器中有內置存儲過程,我想知道執行計劃爲默認存儲過程構建的位置?爲exame:Sp_who2。執行計劃爲sqlserver中的默認存儲過程構建的位置?
系統存儲過程的執行計劃存儲在與正常存儲過程相同的位置。您可以使用類似訪問它們:
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 Management Studio中,你可以找到Databases > Programability > Stored Procedures > System Stored Procedures
規定的程序,然後右鍵單擊並選擇修改:
嗨GarethD,謝謝你的回覆。我的例子很好理解。因此,Sqlserver默認(內置)存儲過程也在計劃緩存中有計劃嗎?請指導我 –
我的答案中的第一個查詢將爲您提供緩存中的查詢計劃。 – GarethD
謝謝。得到它了。 –