Массовый импорт и экспорт данных (SQL Server)

Применимо к: даSQL Server (все поддерживаемые версии) ДаБаза данных SQL Azure ДаУправляемый экземпляр SQL Azure даAzure Synapse Analytics даПараллельное хранилище данных

SQL Server поддерживает массовый экспорт данных (массовых данных) из таблиц SQL Server и импорт массовых данных в таблицу SQL Server или несекционированное представление.

  • Массовый экспорт означает копирование данных из таблицы SQL Server в файл данных.
  • Массовый импорт означает загрузку данных из файла данных в таблицу SQL Server . Например, можно экспортировать данные из приложения Microsoft Excel в файл данных, а затем выполнить массовый импорт данных в таблицу SQL Server .

Методы массового импорта и экспорта данных

SQL Server поддерживает массовый экспорт данных из таблиц SQL Server и массовый импорт данных в таблицы или несекционированные представления SQL Server . Доступны следующие основные методы.

Метод Описание Импортирует данные Экспортирует данные
bcp, программа Программа командной строки (Bcp.exe), массово экспортирующая и импортирующая данные и создающая файлы форматирования. Да Да
BULK INSERT, инструкция Инструкция Transact-SQL , импортирующая данные непосредственно из файла данных в таблицу базы данных или несекционированное представление. Да нет
Инструкция INSERT ... Инструкция SELECT * FROM OPENROWSET(BULK...) Инструкция Transact-SQL, использующая поставщик больших наборов строк OPENROWSET для массового импорта данных в таблицу SQL Server с помощью функции OPENROWSET(BULK…), применяемой для выборки данных в предложение INSERT. Да нет
мастер импорта и экспорта SQL Server Мастер создает простые пакеты, которые импортируют и экспортируют данные в многочисленных распространенных форматах, включая базы данных, электронные таблицы и текстовые файлы. Да Да

Важно!

Правила использования файла данных с разделителями-запятыми (CSV) в качестве файла данных для массового импорта данных в SQL Server см. в статье Подготовка данных к массовому экспорту или импорту (SQL Server).

Примечание

Для импорта и экспорта файлов с разделителями Azure Synapse Analytics поддерживает только служебную программу bcp.

Файлы форматирования

Программа bcp, BULK INSERT и INSERT ... SELECT * FROM OPENROWSET(BULK...) поддерживают использование специализированного файла форматирования, в котором хранятся сведения о форматировании для каждого поля в файле данных. Файл форматирования также может содержать сведения о соответствующей таблице SQL Server. Файл форматирования может быть использован с целью предоставления всех сведений о форматировании, необходимых для массового экспорта данных из экземпляра SQL Serverи массового импорта данных в него.

Важно!

BCP нельзя использовать для импорта или экспорта данных из хранилища BLOB-объектов Azure в базу данных SQL Azure. Для импорта данных в хранилище BLOB-объектов Azure или экспорта данных из него используйте инструкцию BULK INSERT или OPENROWSET.

Файлы форматирования обеспечивают гибкость при интерпретации данных, существующих в файле данных, в процессе импорта и при форматировании данных в файле данных в процессе экспорта. Эта гибкость исключает необходимость записи специализированного кода для интерпретации данных или изменения формата данных для особых нужд в SQL Server или внешних приложениях. Таким образом, например, если экспортируются данные для загрузки в приложение, файлу данных потребуются значения с разделительными-запятыми. Для вставки запятых в качестве признаков конца полей можно использовать файл форматирования.

В SQL Server поддерживаются файлы форматирования двух видов: XML-файл форматирования и файл форматирования в формате, отличном от XML.

Программа bcp — это единственное средство, позволяющее создать файл форматирования. Дополнительные сведения см. в разделе Создание файла форматирования (SQL Server). Дополнительные сведения об использовании файлов форматирования см. в разделе Файлы форматирования для импорта или экспорта данных (SQL Server ).

Примечание

В тех случаях, когда файл форматирования не задан во время выполнения операций массового экспорта или импорта, можно переопределить применяемые по умолчанию параметры форматирования в командной строке.

См. также
Подготовка данных к массовому экспорту или импорту (SQL Server)
Форматы данных для массового экспорта или импорта (SQL Server)
 ● Использование собственного формата для импорта или экспорта данных (SQL Server)
 ● Использование символьного формата для импорта или экспорта данных (SQL Server)
 ● Использование собственного формата Юникода для импорта или экспорта данных (SQL Server)
 ● Использование символьного формата Юникода для импорта или экспорта данных (SQL Server)
 ● Импорт данных в собственном и символьном формате из предыдущих версий SQL Server
Указание форматов данных для совместимости с помощью программы bcp (SQL Server)
 ● Указание типа хранилища файлов с помощью программы bcp (SQL Server)
 ● Определение длины префикса в файлах данных с помощью программы bcp (SQL Server)
 ● Указание длины поля с помощью программы bcp (SQL Server)
 ● Определение признаков конца поля и строки (SQL Server)
Сохранение значений NULL или использование значений по умолчанию при массовом импорте данных (SQL Server)
Сохранение значений идентификаторов при массовом импорте данных (SQL Server)
Файлы форматирования для импорта или экспорта данных (SQL Server)
 ● Создание файла форматирования (SQL Server)
 ● Использование файла форматирования для массового импорта данных (SQL Server)
 ● Использование файла форматирования для пропуска столбца таблицы (SQL Server)
 ● Использование файла форматирования для пропуска поля данных (SQL Server)
 ● Использование файла форматирования для сопоставления столбцов таблицы с полями файла данных (SQL Server)

Дополнительные сведения