Предварительные требования для минимального ведения журнала при массовом импорте
Применимо к:SQL Server
В базе данных, использующей модель полного восстановления, все операции вставки строк, выполняющиеся при массовом импорте, полностью записываются в журнал транзакций. Если используется модель полного восстановления, импорт большого количества данных может привести к быстрому заполнению журнала транзакций. В отличие от этого, при простой модели восстановления или модели восстановления с неполным протоколированием минимальное ведение журнала операций массового импорта снижает вероятность того, что операция массового импорта заполняет пространство журнала. Минимальное протоколирование также более эффективно, чем полное.
Примечание
Модель восстановления с неполным протоколированием предназначена для временной замены модели полного восстановления на период проведения массовых операций.
Требования к таблице для минимального ведения журнала операций массового импорта
Минимальное протоколирование требует, чтобы целевая таблица удовлетворяла следующим условиям.
Таблица не реплицируется.
Задана блокировка таблицы (с помощью TABLOCK).
Примечание
Хотя вставки данных не регистрируются в журнале транзакций во время операции массового импорта с минимальным протоколированием, компонент Компонент Database Engine по-прежнему регистрирует выделение экстентов каждый раз, когда в таблицу выделяется новый экстент.
Таблица не является оптимизированной для памяти таблицей.
Можно ли использовать минимальное протоколирование, также зависит от того, индексируется ли таблица и, если это так, пуста ли она.
Если у таблицы нет индексов, ведется минимальный журнал страниц данных.
Если у таблицы нет кластеризованного индекса, но есть один или более некластеризованных индексов, всегда ведется минимальный журнал страниц данных. Однако применяемый способ ведения журнала страниц индекса зависит от того, пуста ли таблица.
Если таблица пуста, ведется минимальный журнал страниц индекса. Если начать с пустой таблицы и выполнить массовый импорт данных несколькими пакетами, для первого пакета будет вестись минимальный журнал страниц как данных, так и индекса, но, начиная со второго пакета, минимальный журнал будет вестись только для страниц данных.
Если таблица не пуста, страницы индекса регистрируются полностью.
Если один из индексов имеет IGNORE_DUP_KEY = ON, страницы индексов и данных регистрируются полностью.
Если у таблицы есть кластеризованный индекс, и он пуст, будет вестись минимальный журнал и страниц данных, и страниц индекса. В отличие от этого, если таблица имеет кластеризованный индекс на основе сбалансированного дерева и не пуста, страницы данных и страницы индекса регистрируются полностью независимо от модели восстановления. Если вы начинаете с пустой таблицы rowstore и выполняете массовый импорт данных пакетами, то индексные страницы и страницы данных будут минимально зарегистрированы для первого пакета, но начиная со второго пакета выполняется массовое ведение журнала только страниц данных.
Примечание
В документации по SQL Server термин "сбалансированное дерево" обычно используется в отношении индексов. В индексах rowstore SQL Server реализует B+-дерево. Это не относится к индексам columnstore или хранилищам данных в памяти. Дополнительные сведения см. в руководстве по архитектуре и проектированию индексов SQL Server и Azure SQL.
Дополнительные сведения о ведении журнала для кластеризованного индекса columnstore см. в руководстве по загрузке данных индекса columnstore.
Примечание
Если репликация транзакций включена, операции BULK INSERT полностью регистрируются даже в модели восстановления с неполным протоколированием.
См. также раздел
- Модели восстановления (SQL Server)
- Программа bcp
- BULK INSERT (Transact-SQL)
- OPENROWSET (Transact-SQL)
- BACKUP (Transact-SQL)
- ALTER DATABASE (Transact-SQL)
- Табличные указания (Transact-SQL)
- Инструкция INSERT (Transact-SQL)
Дальнейшие действия
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по