共用方式為


檢視預存程序的定義

您可以使用 sql Server Management Studio 中的 物件總管 功能表選項,或使用 Transact-SQL 在 查詢編輯器 中檢視預存程式的定義。 本主題描述如何使用 查詢編輯器 中的系統預存程式、系統函式和對象目錄檢視,在 物件總管 中檢視程式的定義。

開始之前

安全性

權限

系統預存程式: sp_helptext
需要 public 角色的成員資格。 系統物件定義是公開顯示的。 凡具有下列任一權限的物件擁有者或承授者,都看得到使用者物件的定義:ALTER、CONTROL、TAKE OWNERSHIP 或 VIEW DEFINITION。

系統函式: OBJECT_DEFINITION
系統物件定義是公開顯示的。 凡具有下列任一權限的物件擁有者或承授者,都看得到使用者物件的定義:ALTER、CONTROL、TAKE OWNERSHIP 或 VIEW DEFINITION。 db_ownerdb_ddladmindb_securityadmin 固定資料庫角色的成員隱含地擁有這些權限。

物件目錄檢視: sys.sql_modules
目錄檢視內中繼資料的可見性會限制在使用者所擁有的安全性實體,或已授與使用者某些權限的安全性實體。 如需相關資訊,請參閱 Metadata Visibility Configuration

如何檢視預存程序的定義

您可以使用下列其中一項:

使用 SQL Server Management Studio

在物件總管中檢視程序的定義

  1. 在 [物件總管] 中,連接到資料庫引擎的執行個體,然後展開該執行個體。

  2. 依序展開 [資料庫] 、程序所屬的資料庫,以及 [可程式性]

  3. 展開 [預存程式],以滑鼠右鍵按兩下程式,然後按兩下 [將預存程式腳本為],然後按下列其中一項:[建立至]、[改變至] 或 [卸除] 和 [建立至]。

  4. 選取 [新增查詢編輯器視窗]。 這會顯示程序定義。

使用 TRANSACT-SQL

若要在 查詢編輯器 中檢視程序的定義

系統預存程式: sp_helptext

  1. 在物件總管中,連線到資料庫引擎的執行個體。

  2. 在工具列上,按一下 [新增查詢]

  3. 在查詢視窗中,輸入下列使用 sp_helptext 系統預存程序的陳述式。 請變更資料庫名稱和預存程序名稱,使其參考您需要的資料庫和預存程序。

    USE AdventureWorks2012;  
    GO  
    EXEC sp_helptext N'AdventureWorks2012.dbo.uspLogError';  
    

系統函式: OBJECT_DEFINITION

  1. 在物件總管中,連線到資料庫引擎的執行個體。

  2. 在工具列上,按一下 [新增查詢]

  3. 在查詢視窗中,輸入下列使用 OBJECT_DEFINITION 系統函數的陳述式。 請變更資料庫名稱和預存程序名稱,使其參考您需要的資料庫和預存程序。

    USE AdventureWorks2012;  
    GO  
    SELECT OBJECT_DEFINITION (OBJECT_ID(N'AdventureWorks2012.dbo.uspLogError'));  
    

物件目錄檢視: sys.sql_modules

  1. 在物件總管中,連線到資料庫引擎的執行個體。

  2. 在工具列上,按一下 [新增查詢]

  3. 在查詢視窗中,輸入下列使用 sys.sql_modules 目錄檢視的陳述式。 請變更資料庫名稱和預存程序名稱,使其參考您需要的資料庫和預存程序。

    USE AdventureWorks2012;  
    GO  
    SELECT definition  
    FROM sys.sql_modules  
    WHERE object_id = (OBJECT_ID(N'AdventureWorks2012.dbo.uspLogError'));  
    

另請參閱

建立預存程序
修改預存程序
刪除預存程序
重新命名預存程序
OBJECT_DEFINITION (Transact-SQL)
sys.sql_modules (Transact-SQL)
sp_helptext (Transact-SQL)
OBJECT_ID (Transact-SQL)