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

Применимо к: SQL Server Azure SQL DatabaseУправляемый экземпляр SQL AzureAzure Synapse Analytics AnalyticsPlatform System (PDW)

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 в базу данных Azure SQL. Используйте BULK INSERT или OPENROWSET для импорта или экспорта в Хранилище BLOB-объектов Azure.

Файлы форматирования обеспечивают гибкость при интерпретации данных, существующих в файле данных, в процессе импорта и при форматировании данных в файле данных в процессе экспорта. Эта гибкость исключает необходимость записи специализированного кода для интерпретации данных или изменения формата данных для особых нужд в 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)

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