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


Выполнение фоновых операций с индексами

Индексы можно создавать, перестраивать и удалять в оперативном режиме. Параметр ONLINE разрешает одновременный доступ пользователей к базовой таблице или данным кластеризованного индекса и всем связанным некластеризованным индексам во время выполнения этих операций с индексами. Например, пока пользователь перестраивает кластеризованный индекс, он и другие пользователи могут продолжать обновление базовых данных и осуществлять к ним запросы. При выполнении DDL-операций в автономном режиме, таких как построение или перестроение кластеризованного индекса, эти операции удерживают монопольные блокировки на базовые данные и связанные индексы. Это предотвращает изменение базовых данных и осуществление запросов к ним до завершения операции с индексами.

ПримечаниеПримечание

Фоновые операции с индексами доступны только в выпусках SQL Server Enterprise Edition, Developer Edition и Evaluation Edition.

Рекомендуется выполнять фоновые операции с индексами в производственной среде, работающей 24 часа в сутки и семь дней в неделю, когда имеется насущная необходимость одновременных действий пользователей во время выполнения операций с индексами.

Параметр ONLINE доступен в следующих инструкциях языка Transact-SQL.

Дополнительные сведения о фоновых операциях с индексами см. в разделе О фоновых операциях с индексом и Правила выполнения фоновых операций с индексами.

Пример

В следующем примере все индексы таблицы Product в образце базы данных AdventureWorks перестраиваются в оперативном режиме.

USE AdventureWorks;
GO
ALTER INDEX ALL ON Production.Product
REBUILD WITH (ONLINE = ON);