Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Задача массового вставки обеспечивает эффективный способ копирования больших объемов данных в таблицу ИЛИ представление SQL Server. Например, предположим, что ваша компания хранит свой список продуктов миллион строк в системе мейнфреймов, но система электронной коммерции компании использует SQL Server для заполнения веб-страниц. Необходимо обновить таблицу продуктов SQL Server ночью с помощью основного списка продуктов из мейнфрейма. Чтобы обновить таблицу, вы сохраните список продуктов в формате с разделителями табуляции и используйте задачу массового вставки для копирования данных непосредственно в таблицу SQL Server.
Чтобы обеспечить высокую скорость копирования, данные не должны подвергаться преобразованиям при перемещении из исходного файла в таблицу или представление.
Особенности использования
Перед использованием задачи «Массовая вставка» примите во внимание следующее.
Задача массового вставки может передавать данные только из текстового файла в таблицу или представление SQL Server. Чтобы использовать задачу массового вставки для передачи данных из других систем управления базами данных (СУБД), необходимо экспортировать данные из источника в текстовый файл, а затем импортировать данные из текстового файла в таблицу ИЛИ представление SQL Server.
Назначение должно быть таблицей или представлением в базе данных SQL Server. Если целевая таблица или представление уже содержат данные, то при запуске задачи «Массовая вставка» новые данные добавляются к существующим. Если необходимо заменить данные, запустите задачу «Выполнение SQL», которая выполнит инструкцию DELETE или TRUNCATE до запуска задачи «Массовая вставка». Дополнительные сведения см. в разделе Execute SQL Task.
В объекте задачи «Массовая вставка» можно использовать файл форматирования. Если имеется файл форматирования, созданный программой bcp , можно указать путь к нему в задаче «Массовая вставка». Задача «Массовая вставка» поддерживает файлы форматирования как в формате XML, так и в форматах, отличных от XML. Дополнительные сведения об использовании файлов форматирования см. в статье Файлы форматирования для импорта или экспорта данных (SQL Server).
Запускать пакеты, содержащие задачу «Массовая вставка», могут только члены предопределенной роли сервера sysadmin.
Использование задачи «Массовая вставка» вместе с транзакциями
Если размер пакета не указан, вся операция массового копирования рассматривается как одна транзакция. Размер пакета 0 указывает, что все данные вставлены в один пакет. Если указан размер пакета, каждый пакет представляет собой транзакцию, которая фиксируется после завершения работы пакета.
Поведение задачи «Массовая вставка» по отношению к транзакциям зависит от того, присоединяется ли задача к транзакции пакета. Если задача «Массовая вставка» не присоединена к транзакции пакета, каждый пакет без ошибок фиксируется как отдельный модуль перед попыткой передачи следующего пакета. Если задача «Массовая вставка» присоединена к транзакции пакета, пакеты без ошибок остаются в транзакции по завершении задачи. Фиксация или операция отката этих пакетов произойдет вместе со всем пакетом.
Ошибка задачи «Массовая вставка» не вызывает автоматического отката успешно загруженных пакетов, а успешное завершение задачи не означает, что пакеты автоматически фиксируются. Операции фиксации и отката происходят только в результате настройки свойств пакета и рабочего процесса.
Источник и назначение
При указании расположения исходного текстового файла учитывайте следующее.
Сервер должен иметь разрешение на доступ как к файлу, так и к целевой базе данных.
Сервер запускает задачу «Массовая вставка». Таким образом, любой файл форматирования, используемый задачей, должен располагаться на этом сервере.
Исходный файл, который загружает задача массового вставки, может находиться на том же сервере, что и база данных SQL Server, в которую вставляются данные или на удаленном сервере. Если файл расположен на удаленном сервере, необходимо указать имя в формате UNC.
Оптимизация производительности
Чтобы улучшить производительность, учтите следующее.
Если текстовый файл находится на том же компьютере, что и база данных SQL Server, в которую вставляются данные, операция копирования выполняется еще быстрее, так как данные не перемещаются по сети.
Задача «Массовая вставка» не фиксирует в журнале строки, вызвавшие ошибку. Если эти сведения необходимы, воспользуйтесь выходами ошибок компонентов потока данных для обнаружения строк, вызвавших ошибки в файле исключений.
Пользовательские записи журнала, доступные в задаче «Массовая вставка»
В следующей таблице перечислены пользовательские записи в журнале для задачи «Массовая вставка». Дополнительные сведения см. в разделе логирование служб Integration Services (SSIS) и настраиваемые сообщения для логирования.
| Запись журнала | Описание |
|---|---|
BulkInsertTaskBegin |
Указывает, что массовая вставка началась. |
BulkInsertTaskEnd |
Указывает, что массовая вставка завершена. |
BulkInsertTaskInfos |
Выводит описательные сведения об этой задаче. |
Настройка задачи «Массовая вставка»
Чтобы настроить задачу «Массовая вставка», выполните следующее.
Укажите диспетчер соединений OLE DB для подключения к целевой базе данных SQL Server и таблице или представлению, в которую вставляются данные. Задача «Массовая вставка» поддерживает только подключения OLE DB к целевой базе данных.
Чтобы получить доступ к исходному файлу, укажите диспетчер соединения с плоскими файлами или диспетчер подключения файлов. Задача «Массовая вставка» использует диспетчер соединений только для местоположения исходного файла. Задача пропускает другие параметры, выбранные в редакторе диспетчера соединений.
Определите формат, используемый задачей «Массовая вставка», либо при помощи файла форматирования, либо указав разделители столбцов и строк в исходных данных. При использовании файла форматирования укажите для доступа к нему диспетчер подключения файлов.
Укажите, какие действия следует произвести над целевой таблицей или представлением при вставке данных. Эти параметры включают в себя проверочное ограничение, разрешение на вставку данных в столбцы удостоверений, сохранение значений NULL, запуск триггеров, блокировку таблицы.
Введите сведения о пакете вставляемых данных, такие как размер пакета, первая и последняя вставляемая строка файла, число ошибок вставки, которые могут произойти, прежде чем задача прекратит вставку строк, а также имена столбцов, которые будут отсортированы.
Если задача «Массовая вставка» использует для доступа к исходному файлу диспетчер соединений с неструктурированными файлами, задача не использует формат, указанный в нем. Вместо этого задача "Массовая вставка" использует либо формат, указанный в файле форматирования, либо значения свойств задачи RowDelimiter и ColumnDelimiter.
Свойства могут быть заданы с помощью конструктора SSIS или программным путем.
Чтобы получить дополнительную информацию о свойствах, которые можно задать в конструкторе SSIS, щелкните один из следующих разделов:
Дополнительные сведения о настройке свойств в дизайнере SSIS см. в следующей теме:
Настройка задачи «Массовая вставка» программными средствами
Дополнительные сведения об установке этих свойств программными средствами см. в следующем разделе.
Связанные задачи
Задание свойств задач или контейнеров
Связанные материалы
Техническая статья В системах, поддерживающих контроль учетных записей, может быть получена ошибка «Не удалось подготовить массовую вставку данных служб SSIS»на сайте support.microsoft.com.
Техническая статья Руководство по производительности загрузки данныхна сайте msdn.microsoft.com.
Техническая статья Использование служб SQL Server Integration Services для массовой загрузки данныхразмещена на сайте simple-talk.com.