Минимальное протоколирование

Tsql теория > Минимальное протоколирование
24.04.2013 17:30:03



Статья:

Минимальное протоколирование — это протоколирование только информации, необходимой для восстановления транзакции без поддержки восстановления на момент времени.
Эта особенность может быть очень полезна, когда необходимо сократить время на выполнение некоторых операций. Сегодня я хочу поговорить о минимальном протоколировании некоторых DDL-операции с индексом.

Минимально протоколируются следующие операции с индексами:

  • Операции CREATE INDEX (включая индексированные представления)
  • Операции ALTER INDEX REBUILD или DBCC DBREINDEX
  • Перестроение новой кучи DROP INDEX (если применимо)

Минимальное протоколирование выполняется более эффективно, чем полное, и снижает вероятность переполнения журнала во время выполнения операции с индексами. При этом минимальное протоколирование напрямую зависит от модели восстановления (recovery model) БД.

В следующей таблице перечислены операции с индексами и тип протоколирования, доступный для них в каждой из моделей восстановления базы данных. Эти модели восстановления поддерживаются для операций с индексами, выполняющихся как в оперативном (ONLINE), так и в автономном режиме (OFFLINE).

Операция с индексами Полная модель (Full) Модель с неполным протоколированием (Bulk logged) Простая модель (Simple)
ALTER INDEX REORGANIZE полное полное полное
ALTER INDEX REBUILD полное минимальное минимальное
CREATE INDEX полное минимальное минимальное
DBCC INDEXDEFRAG полное полное полное
DBCC DBREINDEX полное минимальное минимальное
DROP INDEX Освобождение индексной страницы полностью протоколируется; создание новой кучи (при необходимости) также полностью протоколируется Освобождение индексной страницы полностью протоколируется; создание новой кучи (при необходимости) протоколируется минимально Освобождение индексной страницы полностью протоколируется; создание новой кучи (при необходимости) протоколируется минимально