共用方式為


檢視預存程序的定義

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

  • 開始之前:安全性

  • **若要檢視程序的定義,請使用:**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
    目錄檢視內中繼資料的可見性會限制在使用者所擁有的安全性實體,或已授與使用者某些權限的安全性實體。 如需詳細資訊,請參閱<中繼資料可見性組態>。

如何檢視預存程序的定義

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

  • SQL Server Management Studio

  • Transact-SQL

使用 SQL Server Management Studio

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

  1. 在 [物件總管] 中,連接到 Database Engine 的執行個體,然後展開該執行個體。

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

  3. 展開 [預存程序],以滑鼠右鍵按一下程序,然後按一下 [產生預存程序的指令碼為],再按一下下列其中一個選項:[CREATE 至][ALTER 至][DROP 並 CREATE 至]

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

[回到頁首]

使用 Transact-SQL

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

  • 系統預存程序:sp_helptext

    1. 在 [物件總管] 中,連接到 Database Engine 的執行個體。

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

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

      USE AdventureWorks2012;
      GO
      EXEC sp_helptext N'AdventureWorks2012.dbo.uspLogError';
      
  • 系統函數:OBJECT_DEFINITION

    1. 在 [物件總管] 中,連接到 Database Engine 的執行個體。

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

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

      USE AdventureWorks2012;
      GO
      SELECT OBJECT_DEFINITION (OBJECT_ID(N'AdventureWorks2012.dbo.uspLogError'));
      
  • 物件目錄檢視:sys.sql_modules

    1. 在 [物件總管] 中,連接到 Database Engine 的執行個體。

    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)

概念

建立預存程序

修改預存程序

刪除預存程序

重新命名預存程序