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

Область применения:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureAzure Synapse AnalyticsБаза данных SQL в Microsoft Fabric

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

  • Массовое экспортирование относится к копированию данных из таблицы SQL Server в файл данных.

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

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

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

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

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

Note

Azure Synapse Analytics поддерживает только утилиту bcp для импорта и экспорта разделённых файлов.

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

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

Important

Вы не можете использовать bcp для импорта данных из Хранилище BLOB-объектов Azure или экспорта данных в Хранилище BLOB-объектов Azure в База данных SQL Azure. Используйте BULK INSERT или OPENROWSET BULK, чтобы импортировать из Хранилище BLOB-объектов Azure или экспортировать в Хранилище BLOB-объектов Azure.

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

SQL Server поддерживает два типа файлов формата: файлы форматов XML и файлы не-XML.

Программа bcp — это единственное средство, позволяющее создать файл форматирования. Для получения дополнительной информации см. Создание файла формата с помощью bcp. Для получения дополнительной информации о форматных файлах см. раздел «Форматирование файлов для импорта или экспорта данных».

Note

Если вы не предоставляете файл форматирования во время массового экспорта или импорта, вы можете переопределить стандартное форматирование в командной строке.