Основные рекомендации по массовому импорту данных

Изменения: 12 декабря 2006 г.

ms189989.note(ru-ru,SQL.90).gifПримечание.
Массовый импорт данных в удаленную таблицу не поддерживается.

При массовом импорте данных из файла данных в экземпляр Microsoft SQL Server следует руководствоваться следующими правилами.

  • Получите необходимые разрешения для учетной записи пользователя.
    Учетная запись пользователя, от имени которой выполняются программа bcp, инструкции BULK INSERT или INSERT... SELECT * FROM OPENROWSET(BULK...), должна иметь соответствующие разрешения для таблицы (назначаемые владельцем таблицы). Дополнительные сведения о необходимых для каждого метода разрешениях см. в разделах Программа bcp, OPENROWSET (Transact-SQL) и BULK INSERT (Transact-SQL).
  • Используйте модель восстановления с неполным протоколированием.
    Данное правило относится к базам данных, использующим полную модель восстановления. Эта модель восстановления полезна при выполнении массовых операций в неиндексированной таблице (куче). Восстановление с неполным протоколированием позволяет избежать переполнения журнала транзакций, поскольку при этом не выполняется операция записи в журнал для вставок отдельных строк. Дополнительные сведения о модели восстановления с неполным протоколированием см. в разделе Резервное копирование с использованием модели восстановления с неполным протоколированием.
    Рекомендуется настроить базу данных на использование модели восстановления с неполным протоколированием до операции массового импорта. Сразу же необходимо переключить базу данных на полную модель восстановления. Дополнительные сведения см. в разделе Особенности переключений между моделью полного восстановления и моделью восстановления с неполным протоколированием.
    ms189989.note(ru-ru,SQL.90).gifПримечание.
    Дополнительные сведения об уменьшении объемов ведения журнала при выполнении массовых операций см. в разделе Предварительные условия для минимального ведения журнала массового импорта данных.
  • Резервное копирование после массового импорта данных.
    Для баз данных, использующих простую модель восстановления, после выполнения операции массового импорта рекомендуется создание полной или разностной резервной копии. Дополнительные сведения см. в разделе Создание полных и разностных резервных копий базы данных SQL Server.
    Чтобы произвести полное восстановление или восстановление с неполным протоколированием, достаточно создать резервную копию журнала. Дополнительные сведения см. в разделе Создание резервных копий журналов транзакций.
  • Удаление индексов таблиц для улучшения производительности при выполнении больших операций массового импорта.
    Данное правило справедливо при импорте большого объема данных по сравнению с объемом данных, уже находящимся в таблице. В этом случае удаление индексов из таблицы до выполнения операции массового импорта позволит существенно повысить производительность.
    ms189989.note(ru-ru,SQL.90).gifПримечание.
    Однако если меньший объем загружаемых данных уже находится в таблице, то удаление индексов, наоборот, понизит производительность. В этом случае восстановление индексов может занять больше времени, чем будет сэкономлено во время операции массового импорта.
    Дополнительные сведения см. в разделе [Оптимизация производительности массового импорта данных](ms190421\(v=sql.90\).md).
  • Найдите и удалите скрытые символы в файле данных.
    Многие программы и текстовые редакторы отображают скрытые символы, находящиеся обычно в конце файла данных. Во время операции массового импорта скрытые символы в файле данных в формате ASCII могут привести к появлению сообщения об ошибке «Обнаружено непредвиденное значение NULL». Чтобы решить проблему, обычно необходимо найти и удалить все скрытые символы.

См. также

Основные понятия

Массовый импорт и экспорт данных с помощью программы bcp
Массовый импорт данных при помощи инструкции BULK INSERT или OPENROWSET(BULK...)
Форматы данных для импорта или экспорта данных
Сценарии массового импорта и экспорта данных

Другие ресурсы

Программа bcp
BULK INSERT (Transact-SQL)
OPENROWSET (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

12 декабря 2006 г.

Новое содержимое
  • Добавлено примечание в начало раздела.