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


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

В этом разделе описывается изменение индекса в SQL Server 2014 с помощью 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

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

  1. Установите соединение с компонентом Компонент Database Engine.

  2. На панели «Стандартная» нажмите Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере индекс по столбцу ProductID таблицы Production.WorkOrder удаляется и создается вновь с помощью параметра DROP_EXISTING . Указываются также параметры FILLFACTOR и PAD_INDEX.

    USE AdventureWorks2012;
    GO
    CREATE NONCLUSTERED INDEX IX_WorkOrder_ProductID
        ON Production.WorkOrder(ProductID)
        WITH (FILLFACTOR = 80,
            PAD_INDEX = ON,
            DROP_EXISTING = ON);
    GO
    

    В следующем примере с помощью инструкции ALTER INDEX задаются несколько параметров для индекса AK_SalesOrderHeader_SalesOrderNumber.

    USE AdventureWorks2012;
    GO
    ALTER INDEX AK_SalesOrderHeader_SalesOrderNumber ON
        Sales.SalesOrderHeader
    SET (
        STATISTICS_NORECOMPUTE = ON,
        IGNORE_DUP_KEY = ON,
        ALLOW_PAGE_LOCKS = ON
        ) ;
    GO
    

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

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

См. также

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