适用于:
SQL Server
Azure SQL 数据库
Azure SQL 托管实例
本主题说明如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中修改索引。
不能通过此方法修改作为 PRIMARY KEY 或 UNIQUE 约束的结果而创建的索引, 而必须修改约束。
本主题内容
若要修改索引,请使用:
SQL Server Management Studio
Transact-SQL
使用 SQL Server Management Studio
在对象资源管理器中,连接到 SQL Server 数据库引擎 的实例,然后展开该实例。
展开
“数据库”
,展开该表所属的数据库,再展开
“表”
。
展开该索引所属的表,再展开
“索引”
。
右键单击要修改的索引,然后单击“属性”
。
在
“索引属性”
对话框中进行所需的更改。 例如,您可以从索引键中添加或删除列,或更改索引选项的设置。
修改索引列
若要添加、删除或更改索引列的位置,请从
“索引属性”
对话框中选择
“常规”
页。
“使用 Transact-SQL”
下面的示例使用
DROP_EXISTING
选项,删除 AdventureWorks 数据库中
Production.WorkOrder
表的
ProductID
列上的现有索引并重新创建。 还设置了
FILLFACTOR
和
PAD_INDEX
选项。
CREATE NONCLUSTERED INDEX IX_WorkOrder_ProductID
ON Production.WorkOrder(ProductID)
WITH (FILLFACTOR = 80,
PAD_INDEX = ON,
DROP_EXISTING = ON)
下面的示例使用 ALTER INDEX 为索引 AK_SalesOrderHeader_SalesOrderNumber
设置了几个选项。
ALTER INDEX AK_SalesOrderHeader_SalesOrderNumber ON
Sales.SalesOrderHeader
SET (
STATISTICS_NORECOMPUTE = ON,
IGNORE_DUP_KEY = ON,
ALLOW_PAGE_LOCKS = ON
修改索引列
若要添加、删除或更改索引列的位置,您必须删除并重新创建该索引。
CREATE INDEX (Transact-SQL)
ALTER INDEX (Transact-SQL)
INDEXPROPERTY (Transact-SQL)
sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL)
设置索引选项
重命名索引