SQL Server Native Client インデックスのドロップ

SQL Server Native Client OLE DB プロバイダーでは、IIndexDefinition::DropIndex 関数が公開されます。 コンシューマーはこの関数を使用して、SQL Server テーブルからインデックスを削除できます。

SQL Server Native Client OLE DB プロバイダーでは、一部の SQL Server PRIMARY KEY 制約と UNIQUE 制約がインデックスとして公開されます。 テーブル所有者、データベース所有者、一部の管理ロールのメンバーは、SQL Server テーブルを変更して、制約を削除できます。 既定では、テーブル所有者だけが既存のインデックスを削除できます。 したがって、DropIndex が成功するか失敗するかは、アプリケーション ユーザーのアクセス権だけでなく、指定されたインデックスの種類によっても異なります。

コンシューマーは、pTableID パラメーターの uName 共用体の pwszName メンバーに Unicode 文字列としてテーブル名を指定します。 pTableIDeKind メンバーを DBKIND_NAME にする必要があります。

インデックス名は、pIndexID パラメーターの uName 共用体の pwszName メンバーに Unicode 文字列で指定します。 pIndexIDeKind メンバーを DBKIND_NAME にする必要があります。 SQL Server Native Client OLE DB プロバイダーでは、pIndexID が null 値の場合にテーブルのすべてのインデックスをドロップする OLE DB フィーチャーはサポートされません。 pIndexID が NULL の場合、E_INVALIDARG を返します。

参照

テーブルとインデックス
ALTER TABLE (Transact-SQL)
DROP INDEX (Transact-SQL)