删除 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 字符串。pTableIDeKind 成员必须是 DBKIND_NAME。

pIndexID 参数的 uName 联合的 pwszName 成员中,使用者将索引名指定为 Unicode 字符串。pIndexIDeKind 成员必须是 DBKIND_NAME。在 pIndexID 为 Null 时,SQL Server Native Client OLE DB 访问接口不支持删除表上所有索引的 OLE DB 功能。如果 pIndexID 为 Null,则返回 E_INVALIDARG。