SQL Server インデックスの削除
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 文字列で指定します。 pTableID の eKind メンバーを DBKIND_NAME にする必要があります。
インデックス名は、pIndexID パラメーターの uName 共用体の pwszName メンバーに Unicode 文字列で指定します。 pIndexID の eKind メンバーを DBKIND_NAME にする必要があります。 SQL Server Native Client OLE DB プロバイダーでは、pIndexID が NULL の場合にテーブルのすべてのインデックスを削除する OLE DB 機能はサポートされません。 pIndexID が NULL の場合、E_INVALIDARG を返します。