檢視預存程序的定義
適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)
檢視預存程序的定義
本文描述如何在 [物件總管] 中,以及透過系統預存程序、系統函數和查詢編輯器中的物件目錄檢視,來檢視程序的定義。
安全性
權限
系統預存程序: sp_helptext
需要 public 角色的成員資格。 系統物件定義是公開顯示的。 凡具有 ALTER、CONTROL、TAKE OWNERSHIP 或 VIEW DEFINITION 任一權限的物件擁有者或被授與者,都看得到使用者物件的定義。
系統函數:OBJECT_DEFINITION
系統物件定義是公開顯示的。 凡具有 ALTER、CONTROL、TAKE OWNERSHIP 或 VIEW DEFINITION 任一權限的物件擁有者或被授與者,都看得到使用者物件的定義。 db_owner、 db_ddladmin和 db_securityadmin 固定資料庫角色的成員隱含地擁有這些權限。
物件目錄檢視: sys.sql_modules
目錄檢視內中繼資料的可見性會限制在使用者所擁有的安全性實體,或已授與使用者某些權限的安全性實體。 如需相關資訊,請參閱 Metadata Visibility Configuration。
注意
Azure Synapse Analytics 中不支援系統預存程序 sp_helptext
。 請改用 sys.sql_modules
物件目錄檢視。 本文稍後將提供範例。
如何檢視預存程序的定義
您可以使用下列其中一項:
使用 SQL Server Management Studio
在物件總管中檢視程序的定義:
在 [物件總管] 中,連接到資料庫引擎的執行個體,然後展開該執行個體。
依序展開 [資料庫] 、程序所屬的資料庫,以及 [可程式性] 。
展開 [預存程序],以滑鼠右鍵按一下程序,然後選取 [編寫預存程序的指令碼為],再選取下列其中一個選項:[CREATE 至]、[ALTER 至]或 [DROP 並 CREATE 至]。
選取 [新增查詢編輯器視窗]。 這會顯示程序定義。
使用 TRANSACT-SQL
在查詢編輯器中檢視程序的定義
系統預存程序: sp_helptext
在 [物件總管] 中,連線到資料庫引擎的執行個體。
在工具列上,選取 [新增查詢]。
在查詢視窗中,輸入下列使用
sp_helptext
系統預存程序的陳述式。 請變更資料庫名稱和預存程序名稱,使其參考您需要的資料庫和預存程序。USE AdventureWorks2022; GO EXEC sp_helptext N'AdventureWorks2022.dbo.uspLogError';
系統函數:OBJECT_DEFINITION
在 [物件總管] 中,連線到資料庫引擎的執行個體。
在工具列上,選取 [新增查詢]。
在查詢視窗中,輸入下列使用
OBJECT_DEFINITION
系統函數的陳述式。 請變更資料庫名稱和預存程序名稱,使其參考您需要的資料庫和預存程序。USE AdventureWorks2022; GO SELECT OBJECT_DEFINITION (OBJECT_ID(N'AdventureWorks2022.dbo.uspLogError'));
物件目錄檢視:sys.sql_modules
在 [物件總管] 中,連線到資料庫引擎的執行個體。
在工具列上,選取 [新增查詢]。
在查詢視窗中,輸入下列使用
sys.sql_modules
目錄檢視的陳述式。 請變更資料庫名稱和預存程序名稱,使其參考您需要的資料庫和預存程序。USE AdventureWorks2022; GO SELECT [definition] FROM sys.sql_modules WHERE object_id = (OBJECT_ID(N'dbo.uspLogError'));
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應