使存儲過程和觸發(fā)器在下次運行時重新編譯。
sp_recompile [ @objname = ] 'object'
[@objname =] 'object'
是當前數(shù)據(jù)庫中的存儲過程、觸發(fā)器、表或視圖的限定的或非限定的名稱。object 是 nvarchar(776) 類型,無默認值。如果 object 是存儲過程或觸發(fā)器的名稱,那么該存儲過程或觸發(fā)器將在下次運行時重新編譯。如果 object 是表或視圖的名稱,那么所有引用該表或視圖的存儲過程都將在下次運行時重新編譯。
0(成功)或非零數(shù)字(失?。?/P>
sp_recompile 只在當前數(shù)據(jù)庫中尋找對象。
存儲過程和觸發(fā)器所用的查詢只在編譯時進行優(yōu)化。對數(shù)據(jù)庫進行了索引或其它會影響數(shù)據(jù)庫統(tǒng)計的更改后,已編譯的存儲過程和觸發(fā)器可能會失去效率。通過對作用于表上的存儲過程和觸發(fā)器進行重新編譯,可以重新優(yōu)化查詢。
說明 Microsoft® SQL Server™ 會在便利時自動對存儲過程和觸發(fā)器進行重新編譯。
執(zhí)行權限默認授予 public 角色。不是 sysadmin 固定服務器角色成員或 db_owner 固定數(shù)據(jù)庫角色成員的用戶只能對自己的表進行操作。
下例將導致使用 titles 表的觸發(fā)器和存儲過程在下次運行時重新編譯。
EXEC sp_recompile titles
相關文章