ストアド プロシージャの削除
このトピックでは、SQL Server Management Studio または Transact-SQL を使用して、SQL Server 2012 でストアド プロシージャを削除する方法について説明します。
作業を開始する準備: 制限事項と制約事項、セキュリティ
プロシージャの削除に使用するもの: SQL Server Management Studio、Transact-SQL
作業を開始する準備
制限事項と制約事項
プロシージャを削除すると、依存オブジェクトとスクリプトを更新してプロシージャの削除を反映しない限り、そのオブジェクトとスクリプトが失敗する可能性があります。 ただし、名前とパラメーターが同じである新しいプロシージャを作成し、削除したプロシージャと置き換えた場合、そのプロシージャを参照する他のオブジェクトは正常に処理されます。 詳細については、「ストアド プロシージャの依存関係の表示」を参照してください。
セキュリティ
権限
プロシージャが属しているスキーマに対する ALTER 権限、またはプロシージャに対する CONTROL 権限が必要です。
ストアド プロシージャを削除する方法
次のどちらかを使用します。
SQL Server Management Studio
Transact-SQL
SQL Server Management Studio の使用
オブジェクト エクスプローラーでプロシージャを削除するには
オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。
[データベース] を展開し、プロシージャが属するデータベースを展開し、[プログラミング] を展開します。
[ストアド プロシージャ] を展開し、削除するプロシージャを右クリックして、[削除] をクリックします。
プロシージャに依存するオブジェクトを表示するには、[依存関係の表示] をクリックします。
適切なプロシージャが選択されていることを確認して、[OK] をクリックします。
任意の依存オブジェクトおよびスクリプトからプロシージャへの参照を削除します。
[先頭に戻る]
Transact-SQL の使用
クエリ エディターでプロシージャを削除するには
オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。
[データベース] を展開し、プロシージャが属するデータベースを展開するか、ツール バーの利用可能なデータベースの一覧からデータベースを選択します。
[ファイル] メニューの [新しいクエリ] をクリックします。
現在のデータベースから削除するストアド プロシージャの名前を取得します。 オブジェクト エクスプローラーから、[プログラミング] を展開し、[ストアド プロシージャ] を展開します。 または、クエリ エディターで次のステートメントを実行します。
SELECT name AS procedure_name ,SCHEMA_NAME(schema_id) AS schema_name ,type_desc ,create_date ,modify_date FROM sys.procedures;
次の例をコピーしてクエリ エディターに貼り付け、現在のデータベースから削除するストアド プロシージャの名前を挿入します。
DROP PROCEDURE <stored procedure name>; GO
任意の依存オブジェクトおよびスクリプトからプロシージャへの参照を削除します。
[先頭に戻る]