适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Microsoft Fabric 预览版中的 SQL 数据库
本主题将说明如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中删除索引。
本主题内容
- 开始之前: 
- 若要删除索引,请使用: 
开始之前
限制和局限
不能使用此方法删除作为 PRIMARY KEY 或 UNIQUE 约束的结果而创建的索引。 而必须删除该约束。 若要删除该约束和相应的索引,请在 Transact-SQL 中使用带有 DROP CONSTRAINT 子句的 ALTER TABLE。 有关详细信息,请参阅 Delete Primary Keys。
安全性
Permissions
要求对表或视图具有 ALTER 权限。 默认情况下,将向 sysadmin 固定服务器角色以及 db_ddladmin 和 db_owner 固定数据库角色授予此权限。
使用 SQL Server Management Studio
通过使用对象资源管理器删除索引
- 在“对象资源管理器”中,展开包含您要删除索引的表的数据库。 
- 展开 “表” 文件夹。 
- 展开包含您要删除的索引的表。 
- 展开 “索引” 文件夹。 
- 右键单击要删除的索引,然后选择“删除”。 
- 在 “删除对象” 对话框中,确认正确的索引位于 “要重删除的对象” 网格中,然后单击 “确定”。 
使用表设计器删除索引
- 在“对象资源管理器”中,展开包含您要删除索引的表的数据库。 
- 展开 “表” 文件夹。 
- 右键单击包含您要删除的索引的表,然后单击“设计”。 
- 在“表设计器”菜单上,单击“索引/键”。 
- 在“索引/键”对话框中,选择要删除的索引。 
- Click Delete. 
- Click Close. 
- 在“文件”菜单上,选择“保存”以保存 table_name。 
Using Transact-SQL
删除索引
- 在 “对象资源管理器” 中,连接到 数据库引擎的实例。 
- 在标准菜单栏上,单击 “新建查询” 。 
- 将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。 - USE AdventureWorks2022; GO -- delete the IX_ProductVendor_BusinessEntityID index -- from the Purchasing.ProductVendor table DROP INDEX IX_ProductVendor_BusinessEntityID ON Purchasing.ProductVendor; GO
有关详细信息,请参阅 DROP INDEX (Transact-SQL)。