Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:SQL Server
среда выполнения интеграции SSIS в Фабрика данных Azure
Задача Bulk Insert предоставляет эффективный способ копирования больших объемов данных в таблицу или представление SQL Server. Например, предположим, что ваша компания хранит свой список товаров из миллиона строк в мейнфреймной системе, а система электронной коммерции компании использует SQL Server для формирования содержимого веб-страниц. Необходимо каждую ночь обновлять таблицу продуктов в SQL Server на основе основного списка продуктов из мейнфрейма. Чтобы обновить таблицу, сохраните список продуктов в формате с табуляцией в качестве разделителя и используйте задачу массовой вставки для копирования данных непосредственно в таблицу SQL Server.
Чтобы обеспечить высокую скорость копирования, данные не должны подвергаться преобразованиям при перемещении из исходного файла в таблицу или представление.
Особенности использования
Перед использованием задачи «Массовая вставка» примите во внимание следующее.
Задача массовой вставки может переносить данные только из текстового файла в таблицу или представление SQL Server. Чтобы использовать задачу массовой вставки для переноса данных из других систем управления базами данных (СУБД), необходимо экспортировать данные из исходной системы в текстовый файл, а затем импортировать данные из этого текстового файла в таблицу или представление SQL Server.
Целевой объект должен быть таблицей или представлением в базе данных SQL Server. Если целевая таблица или представление уже содержат данные, то при запуске задачи «Массовая вставка» новые данные добавляются к существующим. Если вы хотите заменить данные, запустите задачу Execute SQL, которая выполняет оператор DELETE или TRUNCATE перед запуском задачи Bulk Insert. Дополнительные сведения см. в разделе Execute SQL Task.
В объекте задачи «Массовая вставка» можно использовать файл форматирования. Если имеется файл форматирования, созданный программой bcp , можно указать путь к нему в задаче «Массовая вставка». Задача «Массовая вставка» поддерживает файлы форматирования как в формате XML, так и в форматах, отличных от XML. Дополнительные сведения об использовании файлов форматирования см. в статье Файлы форматирования для импорта или экспорта данных (SQL Server).
Запускать пакеты, содержащие задачу «Массовая вставка», могут только члены предопределенной роли сервера sysadmin.
Задача массовой вставки с транзакциями
Если размер пакета не указан, вся операция массового копирования рассматривается как одна транзакция. Размер пакета 0 указывает, что все данные вставлены в один пакет. Если указан размер пакета, каждый пакет представляет собой транзакцию, которая фиксируется после завершения работы пакета.
Поведение задачи «Массовая вставка» по отношению к транзакциям зависит от того, присоединяется ли задача к транзакции пакета. Если задача «Массовая вставка» не участвует в транзакции пакета, каждый пакет, обработанный без ошибок, подтверждается как единое целое, прежде чем будет предпринята попытка обработать следующий пакет. Если задача «Массовая вставка» участвует в транзакции пакета, пакеты, не содержащие ошибок, остаются в транзакции к моменту завершения задачи. Эти пакеты подпадают под операцию фиксации или отката пакета.
Сбой в задаче «Массовая вставка» не приводит к автоматическому откату успешно загруженных пакетов; аналогично, в случае успешного завершения задачи пакеты также не фиксируются автоматически. Операции фиксации и отката выполняются только в соответствии с настройками свойств пакета и рабочего процесса.
Источник и назначение
При указании расположения исходного текстового файла учитывайте следующее.
Сервер должен иметь разрешение на доступ как к файлу, так и к целевой базе данных.
Сервер выполняет задачу Bulk Insert. Таким образом, любой файл форматирования, используемый задачей, должен располагаться на этом сервере.
Исходный файл, который загружает задача массового вставки, может находиться на том же сервере, что и база данных SQL Server, в которую вставляются данные или на удаленном сервере. Если файл находится на удалённом сервере, необходимо указать имя файла в пути, используя UNC-имя.
Оптимизация производительности
Чтобы улучшить производительность, учтите следующее.
Если текстовый файл находится на том же компьютере, что и база данных SQL Server, в которую вставляются данные, операция копирования выполняется еще быстрее, так как данные не перемещаются по сети.
Задача «Массовая вставка» не регистрирует строки, вызвавшие ошибку. Если необходимо записать эту информацию, используйте выходы ошибок компонентов потока данных, чтобы записать в файл исключений строки, вызвавшие ошибки.
Пользовательские записи журнала, доступные в задаче «Массовая вставка»
В следующей таблице перечислены настраиваемые записи журнала для задачи «Массовая вставка». Дополнительные сведения см. в статье Ведение журналов в службах Integration Services (SSIS).
| Запись журнала | Описание |
|---|---|
| BulkInsertTaskBegin | Указывает, что массовая вставка началась. |
| BulkInsertTaskEnd | Указывает, что массовая вставка завершена. |
| BulkInsertTaskInfos | Предоставляет описательную информацию о задаче. |
Настройка задачи «Массовая вставка»
Вы можете настроить задачу «Массовая вставка» следующими способами:
Укажите диспетчер соединений OLE DB для подключения к целевой базе данных SQL Server и таблице или представлению, в которую вставляются данные. Задача «Массовая вставка» поддерживает только подключения OLE DB к целевой базе данных.
Чтобы получить доступ к исходному файлу, укажите диспетчер соединений с файлом или неструктурированным файлом. Задача «Массовая загрузка» использует диспетчер соединений только для указания расположения исходного файла. Задача пропускает другие параметры, выбранные в редакторе диспетчера соединений.
Определите формат, используемый задачей «Массовая вставка», либо при помощи файла форматирования, либо указав разделители столбцов и строк в исходных данных. При использовании файла форматирования укажите для доступа к нему диспетчер подключения файлов.
Укажите, какие действия следует выполнить для целевой таблицы или представления, когда задача вставляет данные. Эти параметры включают, следует ли проверять ограничения, разрешать явную вставку значений в столбец IDENTITY, сохранять значения NULL, запускать триггеры или блокировать таблицу.
Введите сведения о пакете вставляемых данных, такие как размер пакета, первая и последняя вставляемая строка файла, число ошибок вставки, которые могут произойти, прежде чем задача прекратит вставку строк, а также имена столбцов, которые будут отсортированы.
Если задача Bulk Insert использует диспетчер подключений неструктурированного файла для доступа к исходному файлу, задача не использует формат, указанный в диспетчере подключений неструктурированного файла. Вместо этого задача "Массовая вставка" использует либо формат, указанный в файле форматирования, либо значения свойств задачи RowDelimiter и ColumnDelimiter.
Свойства могут быть заданы с помощью конструктора SSIS или программным путем.
Чтобы получить дополнительные сведения о свойствах, которые можно задать в конструкторе SSIS, щелкните следующий раздел:
Дополнительные сведения о настройке этих свойств в конструкторе служб SSIS см. в следующем разделе:
Настройка задачи «Массовая вставка» программными средствами
Дополнительные сведения об установке этих свойств программными средствами см. в следующем разделе.
Связанные задачи
Задайте свойства задачи или контейнера
Редактор задачи пакетной вставки (страница подключения)
Страница Соединение диалогового окна Редактор задачи «Массовая вставка» используется для указания источника и места назначения операции массовой вставки и формата для использования.
Дополнительные сведения о работе с массовыми вставками см. в разделах Задача "Массовая вставка" и Файлы форматирования для импорта или экспорта данных (SQL Server).
Параметры
Соединение
Выберите диспетчер подключений OLE DB в списке или щелкните <Создать подключение...>, чтобы создать соединение.
Связанные разделы:OLE DB диспетчер подключений
Целевая таблица
Введите имя целевой таблицы или представления или выберите таблицу или представление из списка.
Формат
Выберите источник формата для пакетной вставки. Это свойство имеет параметры, указанные в следующей таблице.
| Значение | Описание |
|---|---|
| Использовать файл | Выберите файл, содержащий спецификацию формата. При выборе этого параметра отображается динамический параметр FormatFile. |
| Указать | Укажите формат. При выборе этого параметра отображаются динамические параметры RowDelimiter и ColumnDelimiter. |
Файл
Выберите диспетчер подключений файлов или неструктурированных файлов в списке или щелкните <Создать подключение...>, чтобы создать соединение.
Расположение файла задается относительно компонента SQL Server Database Engine, указанного в диспетчере соединений для выполнения этой задачи. Текстовый файл должен быть доступен компоненту Database Engine SQL Server либо на локальном жестком диске сервера, либо через общую сетевую папку или подключенный сетевой диск SQL Server. Этот файл не имеет доступа к среде выполнения служб SSIS.
Если пользователь осуществляет доступ к исходному файлу с помощью диспетчера соединений с неструктурированным файлом, в задаче «Массовая вставка» не используется формат, указанный в диспетчере соединений с неструктурированными файлами. Вместо этого задача "Массовая вставка" использует либо формат, указанный в файле форматирования, либо значения свойств задачи RowDelimiter и ColumnDelimiter.
Связанные разделы:диспетчер соединений для файлов, диспетчер соединений для неструктурированных файлов
Обновить таблицы
Обновите список таблиц и представлений.
Динамические параметры формата
Формат = Использовать файл
FormatFile
Введите путь к файлу форматирования или нажмите кнопку с многоточием (...) для поиска этого файла.
Формат = Указать
RowDelimiter
Укажите разделитель строк в файле источника. Значением по умолчанию является {CR}{LF}.
ColumnDelimiter
Укажите разделитель столбцов в файле источника. По умолчанию используется Tab.
Редактор задачи «Массовая вставка» (страница «Общие»)
Страница Общие диалогового окна Редактор задачи «Массовая вставка» используется для наименования и описания задачи «Массовая вставка».
Параметры
Имя
Задайте уникальное имя задачи «Массовая вставка». Это имя используется в качестве метки для значка задачи.
Примечание.
Имена задач в пределах пакета должны быть уникальными.
Описание
Введите описание задачи «Массовая вставка».
Редактор задания «Массовая вставка» (страница параметров)
Страница Параметры диалогового окна Редактор задачи «Массовая вставка» используется для установки свойств операции массовой вставки. Задача массовой вставки копирует большие объемы данных в таблицу или представление Microsoft SQL Server.
О работе с массовой вставкой см. статью "Задача массовой вставки" и BULK INSERT (Transact-SQL).
Параметры
CodePage
Укажите кодовую страницу для данных в файле данных.
DataFileType
Задает значение типа данных, используемых в операции загрузки.
BatchSize
Укажите количество строк в пакете. По умолчанию используется весь файл данных. Если параметр BatchSize имеет значение ноль, данные загружаются в одном пакете.
LastRow
Укажите последнюю строку, которую нужно скопировать.
FirstRow
Задает первую строку, с которой должно начинаться копирование.
Параметры
| Термин | Определение |
|---|---|
| Проверочные ограничения | Выберите, чтобы проверить ограничения таблицы и столбцов. |
| Сохранять значения NULL | Установите этот флажок, чтобы сохранить значения NULL при операции массовой вставки вместо вставки в пустые столбцы значений по умолчанию. |
| Включить IDENTITY_INSERT | Выберите, чтобы вставить существующие значения в столбец идентичности. |
| Блокировка таблицы | Установите этот флажок, чтобы заблокировать таблицу при массовой вставке. |
| Запускать триггеры | Выберите, чтобы активировать любые триггеры вставки, обновления или удаления для таблицы. |
ОтсортированныеДанные
Определяет предложение ORDER BY в инструкции массовой вставки. Указываемое имя столбца должно быть действительным столбцом в целевой таблице. Значение по умолчанию — false. Это означает, что данные не отсортированы с помощью предложения ORDER BY.
MaxErrors
Определяет максимальное количество ошибок, которое может произойти перед отменой операции массовой вставки. Значение «0» указывает на то, что допускается бесконечное количество ошибок.
Примечание.
Каждая строка, которая не может быть импортирована операцией массовой загрузки, считается за одну ошибку.