ストアド プロシージャの定義を表示する方法 (SQL Server Management Studio)

いくつかのシステム ストアド プロシージャ、システム関数、およびカタログ ビューでは、ストアド プロシージャに関する情報が提供されます。これらのシステム ストアド プロシージャを使用することで、ストアド プロシージャの定義、つまりストアド プロシージャを作成するために使用された Transact-SQL ステートメントを参照することができます。ストアド プロシージャの作成に使用された Transact-SQL スクリプト ファイルがない場合に役立ちます。

sys.sql_modules を使用してストアド プロシージャの定義を表示するには

  1. オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。

  2. ツール バーの [新しいクエリ] をクリックします。

  3. クエリ ウィンドウで、次のステートメントを入力します。データベース名とストアド プロシージャ名を変更し、目的のデータベースとストアド プロシージャを参照するようにします。

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

OBJECT_DEFINITION を使用してストアド プロシージャの定義を表示するには

  1. オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。

  2. ツール バーの [新しいクエリ] をクリックします。

  3. クエリ ウィンドウで、次のステートメントを入力します。データベース名とストアド プロシージャ名を変更し、目的のデータベースとストアド プロシージャを参照するようにします。

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

sp_helptext を使用してストアド プロシージャの定義を表示するには

  1. オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。

  2. ツール バーの [新しいクエリ] をクリックします。

  3. クエリ ウィンドウで、次のステートメントを入力します。データベース名とストアド プロシージャ名を変更し、目的のデータベースとストアド プロシージャを参照するようにします。

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