Share via


ストアド プロシージャの削除

このトピックでは、SQL Server Management Studioまたは Transact-SQL を使用して、SQL Server 2014 のストアド プロシージャを削除する方法について説明します。

はじめに

制限事項と制約事項

プロシージャを削除すると、依存オブジェクトとスクリプトを更新してプロシージャの削除を反映しない限り、そのオブジェクトとスクリプトが失敗する可能性があります。 ただし、名前とパラメーターが同じである新しいプロシージャを作成し、削除したプロシージャと置き換えた場合、そのプロシージャを参照する他のオブジェクトは正常に処理されます。 詳細については、「 ストアド プロシージャの依存関係の表示」を参照してください。

セキュリティ

アクセス許可

プロシージャが属しているスキーマに対する ALTER 権限、またはプロシージャに対する CONTROL 権限が必要です。

ストアド プロシージャを削除する方法

次のいずれかを使用します。

SQL Server Management Studio を使用する

オブジェクト エクスプローラーでプロシージャを削除するには

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

  2. [データベース] を展開し、プロシージャが属するデータベースを展開し、 [プログラミング] を展開します。

  3. [ストアド プロシージャ] を展開し、削除するプロシージャを右クリックして、 [削除] をクリックします。

  4. プロシージャに依存するオブジェクトを表示するには、 [依存関係の表示] をクリックします。

  5. 適切なプロシージャが選択されていることを確認して、 [OK] をクリックします。

  6. 任意の依存オブジェクトおよびスクリプトからプロシージャへの参照を削除します。

Transact-SQL の使用

クエリ エディターでプロシージャを削除するには

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

  2. [データベース] を展開し、プロシージャが属するデータベースを展開するか、ツール バーの利用可能なデータベースの一覧からデータベースを選択します。

  3. [ファイル] メニューの [新しいクエリ] をクリックします。

  4. 現在のデータベースから削除するストアド プロシージャの名前を取得します。 オブジェクト エクスプローラーから、 [プログラミング] を展開し、 [ストアド プロシージャ] を展開します。 または、クエリ エディターで次のステートメントを実行します。

    SELECT name AS procedure_name   
        ,SCHEMA_NAME(schema_id) AS schema_name  
        ,type_desc  
        ,create_date  
        ,modify_date  
    FROM sys.procedures;  
    
  5. 次の例をコピーしてクエリ エディターに貼り付け、現在のデータベースから削除するストアド プロシージャの名前を挿入します。

    DROP PROCEDURE <stored procedure name>;  
    GO  
    
  6. 任意の依存オブジェクトおよびスクリプトからプロシージャへの参照を削除します。

参照

ストアド プロシージャの作成
ストアド プロシージャの変更
ストアド プロシージャの名前の変更
ストアド プロシージャの定義の表示
ストアド プロシージャの依存関係の表示
DROP PROCEDURE (Transact-SQL)