События
Присоединение к вызову ИИ Навыков
8 апр., 15 - 28 мая, 07
Отточите свои навыки ИИ и введите подметки, чтобы выиграть бесплатный экзамен сертификации
Зарегистрируйтесь!Этот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server
База данных SQL Azure
Управляемый экземпляр SQL Azure
базе данных SQL в Microsoft Fabric
В этом разделе описывается, как включить отключенный индекс в SQL Server с помощью SQL Server Management Studio или Transact-SQL. После отключения индекс остается в отключенном состоянии до тех пор, пока он не будет перестроен или удален.
В этом разделе
Перед началом:
Чтобы включить отключенный индекс, используйте:
После перестроения индекса нужно вручную включить все ограничения, которые были отключены из-за отключения индекса. Ограничения PRIMARY KEY и UNIQUE включаются путем перестроения соответствующего индекса. Индекс должен быть перестроен (включен) до включения ограничений FOREIGN KEY, которые ссылаются на ограничение PRIMARY KEY или UNIQUE. Ограничения FOREIGN KEY устанавливаются с помощью инструкции ALTER TABLE CHECK CONSTRAINT.
Перестройка отключенного кластеризованного индекса не может быть выполнена, если параметр ONLINE имеет значение ON.
Когда кластеризованный индекс отключен или включен, а некластеризованный индекс отключен, действие кластеризованного индекса на отключенный некластеризованный индекс дает следующие результаты.
Действие кластеризованного индекса | Отключенный некластеризованный индекс ... |
---|---|
ALTER INDEX REBUILD. | Остаётся отключенным. |
ALTER INDEX ALL REBUILD. | Будет перестроен и включен. |
DROP INDEX (удаление индекса) | Остается отключенным. |
СОЗДАТЬ ИНДЕКС С ОПЦИЕЙ DROP_EXISTING. | Продолжает оставаться отключенным. |
При создании нового кластеризованного индекса он ведет себя так же, как инструкция ALTER INDEX ALL REBUILD.
Разрешенные действия на некластеризованных индексах, связанных с кластеризованным индексом, зависят от состояния (отключен или включен) обоих типов индекса. Следующая таблица обобщает разрешенные действия на некластеризованных индексах.
Действие некластеризованного индекса | Когда и кластеризованные, и некластеризованные индексы отключены. | Когда кластеризованный индекс включен, а некластеризованный индекс находится в любом состоянии. |
---|---|---|
ПЕРЕСТРОИТЬ ИНДЕКС. | Действие не выполнено. | Операция выполнена успешно. |
УДАЛИТЬ ИНДЕКС. | Операция выполнена успешно. | Операция выполнена успешно. |
СОЗДАТЬ ИНДЕКС С ПЕРЕЗАПИСЬЮ СУЩЕСТВУЮЩЕГО. | Действие не выполнено. | Операция выполнена успешно. |
При перестроении отключенных сжатых некластеризованных индексов параметр data_compression по умолчанию имеет значение none. Это означает, что индексы не будут сжиматься. Связано это с тем, что при отключении некластеризованных индексов метаданные параметров сжатия теряются. Чтобы обойти эту проблему, необходимо явно настроить сжатие данных в инструкции перестроения.
Необходимо разрешение ALTER для таблицы или представления. При использовании инструкции DBCC DBREINDEX пользователь должен быть владельцем таблицы, членом предопределенной роли сервера sysadmin либо предопределенной роли базы данных db_ddladmin или db_owner.
В обозревателе объектов щелкните знак «плюс», чтобы развернуть базу данных, содержащую таблицу, в которой необходимо включить индекс.
Чтобы развернуть папку Таблицы , щелкните значок «плюс».
Щелкните знак «плюс», чтобы развернуть таблицу, в которой необходимо включить индекс.
Чтобы развернуть папку Индексы , щелкните знак «плюс» (+).
Щелкните правой кнопкой мыши по индексу, который вы хотите активировать, и выберите Перестроить.
В диалоговом окне Перестроение индексов убедитесь, что нужный индекс приведен в сетке Индексы для перестройки и нажмите кнопку ОК.
В обозревателе объектов щелкните знак «плюс», чтобы развернуть базу данных, содержащую таблицу, в которой необходимо включить индексы.
Чтобы развернуть папку Таблицы , щелкните значок «плюс».
Щелкните знак «плюс», чтобы развернуть таблицу, в которой необходимо включить индексы.
Щелкните правой кнопкой мыши папку Индексы и выберите Перестроить все.
В диалоговом окне Перестройка индексов убедитесь, что нужные индексы приведены в сетке Индексы для перестроения и нажмите кнопку ОК. Для удаления индекса из сетки Индексы для перестроения выделите индекс и нажмите клавишу DELETE.
В диалоговом окне Перестроение индексов приведены следующие сведения:
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2022;
GO
-- Enables the IX_Employee_OrganizationLevel_OrganizationNode index
-- on the HumanResources.Employee table.
ALTER INDEX IX_Employee_OrganizationLevel_OrganizationNode ON HumanResources.Employee
REBUILD;
GO
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2022;
GO
-- re-creates the IX_Employee_OrganizationLevel_OrganizationNode index
-- on the HumanResources.Employee table
-- using the OrganizationLevel and OrganizationNode columns
-- and then deletes the existing IX_Employee_OrganizationLevel_OrganizationNode index
CREATE INDEX IX_Employee_OrganizationLevel_OrganizationNode ON HumanResources.Employee
(OrganizationLevel, OrganizationNode)
WITH (DROP_EXISTING = ON);
GO
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2022;
GO
-- enables the IX_Employee_OrganizationLevel_OrganizationNode index
-- on the HumanResources.Employee table
DBCC DBREINDEX ("HumanResources.Employee", IX_Employee_OrganizationLevel_OrganizationNode);
GO
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2022;
GO
-- enables all indexes
-- on the HumanResources.Employee table
ALTER INDEX ALL ON HumanResources.Employee
REBUILD;
GO
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2022;
GO
-- enables all indexes
-- on the HumanResources.Employee table
DBCC DBREINDEX ("HumanResources.Employee", " ");
GO
Дополнительные сведения см. в разделах ALTER INDEX (Transact-SQL), CREATE INDEX (Transact-SQL) и DBCC DBREINDEX (Transact-SQL).
События
Присоединение к вызову ИИ Навыков
8 апр., 15 - 28 мая, 07
Отточите свои навыки ИИ и введите подметки, чтобы выиграть бесплатный экзамен сертификации
Зарегистрируйтесь!