Поделиться через


Изменение индекса

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

В этом разделе описано, как изменить индекс в SQL Server с помощью среды SQL Server Management Studio или Transact-SQL.

Внимание

Индексы, созданные в результате применения ограничения PRIMARY KEY или UNIQUE, изменить этим способом нельзя. Вместо этого необходимо изменить ограничение.

В этом разделе

Использование среды SQL Server Management Studio

Изменение индекса

  1. В обозревателе объектовподключитесь к экземпляру компонента SQL Server Database Engine и разверните его.

  2. Разверните Базы данных, затем базу данных, которой принадлежит таблица, и Таблицы.

  3. Раскройте таблицу, которой принадлежит индекс, а затем — узел Индексы.

  4. Щелкните правой кнопкой мыши индекс, который нужно изменить, и выберите пункт Свойства.

  5. В диалоговом окне Свойства индекса внесите необходимые изменения. Например, можно добавить или удалить столбец из ключа индекса или изменить значение параметра индекса.

Изменение столбцов индекса

  1. Чтобы добавить столбец индекса, удалить его или изменить его позицию, выберите в диалоговом окне Свойства индекса страницу Общие .

Использование Transact-SQL

Изменение индекса

В следующем примере удаляется и создается повторно существующий индекс для столбца ProductID таблицы Production.WorkOrder в базе данных AdventureWorks с использованием параметра DROP_EXISTING. Указываются также параметры 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
    )
;

Изменение столбцов индекса

  1. Чтобы добавить, удалить или изменить позицию столбца индекса, необходимо удалить и повторно создать индекс.

См. также

Инструкция CREATE INDEX (Transact-SQL)
ALTER INDEX (Transact-SQL)
INDEXPROPERTY (Transact-SQL)
sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL)
Установка параметров индекса
Переименование индексов