SQL Server インデックスの削除
適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
OLE DB Driver for SQL Server では、IIndexDefinition::DropIndex 関数が公開されます。 コンシューマーはこの関数を使用して、SQL Server テーブルからインデックスを削除できます。
OLE DB Driver for SQL Server では、一部の SQL Server PRIMARY KEY 制約および UNIQUE の制約がインデックスとして公開されます。 テーブル所有者、データベース所有者、一部の管理ロールのメンバーは、SQL Server テーブルを変更して、制約を削除できます。 既定では、テーブル所有者だけが既存のインデックスを削除できます。 したがって、DropIndex が成功するか失敗するかは、アプリケーション ユーザーのアクセス権だけでなく、指定されたインデックスの種類によっても異なります。
コンシューマーは、pTableID パラメーターの uName 共用体の pwszName メンバーに Unicode 文字列としてテーブル名を指定します。 pTableID の eKind メンバーを DBKIND_NAME にする必要があります。
インデックス名は、pIndexID パラメーターの uName 共用体の pwszName メンバーに Unicode 文字列で指定します。 pIndexID の eKind メンバーを DBKIND_NAME にする必要があります。 OLE DB Driver for SQL Server では、pIndexID が NULL の場合にテーブルのすべてのインデックスを削除する OLE DB 機能はサポートされません。 pIndexID が NULL の場合、E_INVALIDARG を返します。
参照
テーブルとインデックス
ALTER TABLE (Transact-SQL)
DROP INDEX (Transact-SQL)