Установка параметров индекса

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

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

  • Перед началом работы выполните следующие действия.

    Ограничения

    Безопасность

  • Изменение свойств индекса различными средствами.

    Среда SQL Server Management Studio

    Transact-SQL

Перед началом

Ограничения

  • К индексу с помощью предложения SET в инструкции ALTER INDEX можно немедленно применить следующие параметры. ALLOW_PAGE_LOCKS, ALLOW_ROW_LOCKS, IGNORE_DUP_KEY, и STATISTICS_NORECOMPUTE.

  • Следующие параметры индекса можно установить при перестройке индекса с помощью инструкции ALTER INDEX REBUILD или CREATE INDEX WITH DROP_EXISTING. PAD_INDEX, FILLFACTOR, SORT_IN_TEMPDB, IGNORE_DUP_KEY, STATISTICS_NORECOMPUTE, ONLINE, ALLOW_ROW_LOCKS, ALLOW_PAGE_LOCKS, MAXDOP и DROP_EXISTING (только для CREATE INDEX).

Безопасность

Разрешения

Необходимо разрешение ALTER для таблицы или представления.

Значок стрелки, используемый со ссылкой «В начало»[Top]

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

Изменение свойств индекса при помощи конструктора таблиц.

  1. В обозревателе объектов щелкните знак «плюс», чтобы развернуть базу данных, содержащую таблицу, в которой необходимо изменить свойства индекса.

  2. Чтобы развернуть папку Таблицы, щелкните знак «плюс» (+).

  3. Щелкните правой кнопкой мыши таблицу, в которой необходимо изменить свойства индекса, а затем выберите пункт Проект.

  4. В меню Конструктор таблиц выберите пункт Индексы и ключи.

  5. Выберите индекс, свойства которого необходимо изменить. Его свойства отобразятся в основной сетке.

  6. Измените значения любого или всех свойств, чтобы внести изменения в индекс.

  7. Щелкните Закрыть.

  8. В меню Файл выберите команду Сохранить table_name.

Изменение свойств индекса при помощи обозревателя объектов.

  1. В обозревателе объектов щелкните знак «плюс», чтобы развернуть базу данных, содержащую таблицу, в которой необходимо изменить свойства индекса.

  2. Чтобы развернуть папку Таблицы, щелкните знак «плюс» (+).

  3. Щелкните знак «плюс» (+), чтобы развернуть таблицу, в которой необходимо изменить свойства индекса.

  4. Чтобы развернуть папку Индексы, щелкните знак «плюс» (+).

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

  6. В разделе Выбор страницы щелкните Параметры.

  7. Измените значения любого или всех свойств, чтобы внести изменения в индекс.

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

Значок стрелки, используемый со ссылкой «В начало»[Top]

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

Просмотр свойств всех индексов в таблице

  1. В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.

    USE AdventureWorks2012;
    GO
    SELECT i.name AS index_name, 
        i.type_desc, 
        i.is_unique, 
        ds.type_desc AS filegroup_or_partition_scheme, 
        ds.name AS filegroup_or_partition_scheme_name, 
        i.ignore_dup_key, 
        i.is_primary_key, 
        i.is_unique_constraint, 
        i.fill_factor, 
        i.is_padded, 
        i.is_disabled, 
        i.allow_row_locks, 
        i.allow_page_locks, 
        i.has_filter, 
        i.filter_definition
    FROM sys.indexes AS i
       INNER JOIN sys.data_spaces AS ds ON i.data_space_id = ds.data_space_id
    WHERE is_hypothetical = 0 AND i.index_id <> 0 
       AND i.object_id = OBJECT_ID('HumanResources.Employee'); 
    GO
    

Задание свойств индекса

  1. В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте следующие примеры в окно запроса и нажмите кнопку Выполнить.

    USE AdventureWorks2012;
    GO
    ALTER INDEX AK_SalesOrderHeader_SalesOrderNumber ON
        Sales.SalesOrderHeader
    SET (
        STATISTICS_NORECOMPUTE = ON,
        IGNORE_DUP_KEY = ON,
        ALLOW_PAGE_LOCKS = ON
        ) ;
    GO
    
    USE AdventureWorks2012;
    GO
    ALTER INDEX ALL ON Production.Product
    REBUILD WITH (FILLFACTOR = 80, SORT_IN_TEMPDB = ON,
                  STATISTICS_NORECOMPUTE = ON);
    GO
    

Дополнительные сведения см. в разделе ALTER INDEX (Transact-SQL).

Значок стрелки, используемый со ссылкой «В начало»[Top]