删除索引

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

本主题将说明如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中删除索引。

本主题内容

开始之前

限制和局限

不能使用此方法删除作为 PRIMARY KEY 或 UNIQUE 约束的结果而创建的索引。 而必须删除该约束。 若要删除该约束和相应的索引,请在 Transact-SQL 中使用带有 DROP CONSTRAINT 子句的 ALTER TABLE。 有关详细信息,请参阅 Delete Primary Keys

安全性

权限

要求对表或视图具有 ALTER 权限。 默认情况下,将向 sysadmin 固定服务器角色以及 db_ddladmindb_owner 固定数据库角色授予此权限。

使用 SQL Server Management Studio

通过使用对象资源管理器删除索引

  1. 在“对象资源管理器”中,展开包含您要删除索引的表的数据库。

  2. 展开 “表” 文件夹。

  3. 展开包含您要删除的索引的表。

  4. 展开 “索引” 文件夹。

  5. 右键单击要删除的索引,然后选择“删除”

  6. “删除对象” 对话框中,确认正确的索引位于 “要重删除的对象” 网格中,然后单击 “确定”

使用表设计器删除索引

  1. 在“对象资源管理器”中,展开包含您要删除索引的表的数据库。

  2. 展开 “表” 文件夹。

  3. 右键单击包含您要删除的索引的表,然后单击“设计”。

  4. 在“表设计器”菜单上,单击“索引/键”

  5. 在“索引/键”对话框中,选择要删除的索引。

  6. 单击 “删除”

  7. 单击“关闭” 。

  8. 在“文件”菜单上,选择“保存”以保存 table_name

“使用 Transact-SQL”

删除索引

  1. “对象资源管理器” 中,连接到 数据库引擎的实例。

  2. 在标准菜单栏上,单击 “新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。

    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)