删除 SQL Server 索引

适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics 平台系统(PDW)

下载 OLE DB 驱动程序

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 。 在 pIndexID 为 Null 时,适用于 SQL Server 的 OLE DB 驱动程序不支持删除表上所有索引的 OLE DB 功能 。 如果 pIndexID 为 Null,则返回 E_INVALIDARG 。

另请参阅

表和索引
ALTER TABLE (Transact-SQL)
DROP INDEX (Transact-SQL)