インデックスの削除
適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance
このトピックでは、SQL Server で、SQL Server Management Studio または Transact-SQL を使用して、インデックスを削除 (ドロップ) する方法について説明します。
このトピックの内容
作業を開始する準備:
以下を使用してインデックスを削除するには:
はじめに
制限事項と制約事項
PRIMARY KEY 制約または UNIQUE 制約の結果として作成されたインデックスは、この方法を使用して削除することはできません。 このような場合には、制約を削除する必要があります。 制約および対応するインデックスを削除するには、Transact-SQL から、ALTER TABLE を DROP CONSTRAINT 句と共に使用します。 詳細については、「 Delete Primary Keys」を参照してください。
セキュリティ
アクセス許可
テーブルまたはビューに対する ALTER 権限が必要です。 この権限は、固定サーバー ロール sysadmin と、固定データベース ロール db_ddladmin および db_owner に既定で許可されています。
SQL Server Management Studio を使用する
オブジェクト エクスプローラーを使用してインデックスを削除するには
オブジェクト エクスプローラーで、インデックスを削除するテーブルが格納されているデータベースを展開します。
[テーブル] フォルダーを展開します。
削除するインデックスを含むテーブルを展開します。
[インデックス] フォルダーを展開します。
削除するインデックスを右クリックして、 [削除]をクリックします。
[オブジェクトの削除] ダイアログ ボックスで、 [削除されるオブジェクト] グリッドに目的のインデックスが表示されていることを確認し、 [OK]をクリックします。
テーブル デザイナーを使用してインデックスを削除するには
オブジェクト エクスプローラーで、インデックスを削除するテーブルが格納されているデータベースを展開します。
[テーブル] フォルダーを展開します。
削除するインデックスのあるテーブルを右クリックし、[デザイン] をクリックします。
[テーブル デザイナー] メニューの [インデックス/キー]をクリックします。
[インデックス/キー] ダイアログ ボックスで、削除するインデックスを選択します。
[Delete] をクリックします。
[閉じる] をクリックします。
[ファイル] メニューの table_nameを保存]を選びます。
Transact-SQL の使用
インデックスを削除するには
オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。
USE AdventureWorks2022; GO -- delete the IX_ProductVendor_BusinessEntityID index -- from the Purchasing.ProductVendor table DROP INDEX IX_ProductVendor_BusinessEntityID ON Purchasing.ProductVendor; GO
詳細については、「DROP INDEX (Transact-SQL)」を参照してください。