Массовый импорт и экспорт данных (SQL Server)Bulk Import and Export of Data (SQL Server)

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server даБаза данных SQL AzureдаХранилище данных SQL AzureдаParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

SQL ServerSQL Server поддерживает массовый экспорт данных (массовых данных) из таблиц SQL ServerSQL Server и импорт массовых данных в таблицу SQL ServerSQL Server или несекционированное представление.supports exporting data in bulk (bulk data) from a SQL ServerSQL Server table and importing bulk data into a SQL ServerSQL Server table or nonpartitioned view.

  • Массовый экспорт означает копирование данных из таблицы SQL ServerSQL Server в файл данных.Bulk exporting refers to copying data from a SQL ServerSQL Server table to a data file.

  • Массовый импорт означает загрузку данных из файла данных в таблицу SQL ServerSQL Server .Bulk importing refers to loading data from a data file into a SQL ServerSQL Server table. Например, можно экспортировать данные из приложения MicrosoftMicrosoft Excel в файл данных, а затем выполнить массовый импорт данных в таблицу SQL ServerSQL Server .For example, you can export data from a MicrosoftMicrosoft Excel application to a data file and then bulk import that data into a SQL ServerSQL Server table.

Методы массового импорта и экспорта данныхMethods for bulk importing and exporting data

SQL ServerSQL Server поддерживает массовый экспорт данных из таблиц SQL ServerSQL Server и массовый импорт данных в таблицы или несекционированные представления SQL ServerSQL Server .supports bulk exporting data from a SQL ServerSQL Server table and for bulk importing data into a SQL ServerSQL Server table or nonpartitioned view. Доступны следующие основные методы.The following basic methods are available.

МетодMethod ОписаниеDescription Импортирует данныеImports data Экспортирует данныеExports data
bcp, программаbcp utility Программа командной строки (Bcp.exe), массово экспортирующая и импортирующая данные и создающая файлы форматирования.A command-line utility (Bcp.exe) that bulk exports and bulk imports data and generates format files. ДаYes ДаYes
BULK INSERT, инструкцияBULK INSERT statement Инструкция Transact-SQLTransact-SQL , импортирующая данные непосредственно из файла данных в таблицу базы данных или несекционированное представление.A Transact-SQLTransact-SQL statement that imports data directly from a data file into a database table or nonpartitioned view. ДаYes нетNo
Инструкция INSERT ... Инструкция SELECT * FROM OPENROWSET(BULK...)INSERT ... SELECT * FROM OPENROWSET(BULK...) statement Инструкция Transact-SQLTransact-SQL, использующая поставщик больших наборов строк OPENROWSET для массового импорта данных в таблицу SQL ServerSQL Server с помощью функции OPENROWSET(BULK…), применяемой для выборки данных в предложение INSERT.A Transact-SQLTransact-SQL statement that uses the OPENROWSET bulk rowset provider to bulk import data into a SQL ServerSQL Server table by specifying the OPENROWSET(BULK...) function to select data in an INSERT statement. ДаYes нетNo
мастер импорта и экспорта SQL ServerSQL Server Import and Export Wizard Мастер создает простые пакеты, которые импортируют и экспортируют данные в многочисленных распространенных форматах, включая базы данных, электронные таблицы и текстовые файлы.The wizard creates simple packages that import and export data between many popular data formats including databases, spreadsheets, and text files. ДаYes ДаYes

Важно!

Значения файлов с разделителями-запятыми (CSV) не поддерживаются операциями массового импорта SQL Server.Comma-separated value (CSV) files are not supported by SQL Server bulk-import operations. Но в некоторых случаях CSV-файл можно использовать как файл данных для массового импорта данных в SQL Server.However, in some cases you can use a CSV file as the data file for a bulk import of data into SQL Server. Обратите внимание, что признаком конца поля CSV-файла не обязательно должна быть запятая.Note that the field terminator of a CSV file does not have to be a comma. Дополнительные сведения см. в разделе Подготовка данных к массовому экспорту или импорту (SQL Server).For more information, see Prepare Data for Bulk Export or Import (SQL Server).

Примечание

Для импорта и экспорта файлов с разделителями база данных SQL Azure и хранилище данных SQL Azure поддерживают только служебную программу bcp.Only the bcp utility is supported by Azure SQL Database and Azure SQL DW for importing and exporting delimited files.

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

Программа bcp, BULK INSERT и INSERT ... SELECT * FROM OPENROWSET(BULK...) поддерживают использование специализированного файла форматирования, в котором хранятся сведения о форматировании для каждого поля в файле данных.The bcp utility, BULK INSERT, and INSERT ... SELECT * FROM OPENROWSET(BULK...) all support the use of a specialized format file that stores format information for each field in a data file. Файл форматирования также может содержать сведения о соответствующей таблице SQL ServerSQL Server.A format file might also contain information about the corresponding SQL ServerSQL Server table. Файл форматирования может быть использован с целью предоставления всех сведений о форматировании, необходимых для массового экспорта данных из экземпляра SQL ServerSQL Serverи массового импорта данных в него.The format file can be used to provide all the format information that is required to bulk export data from and bulk import data to an instance of SQL ServerSQL Server.

Файлы форматирования обеспечивают гибкость при интерпретации данных, существующих в файле данных, в процессе импорта и при форматировании данных в файле данных в процессе экспорта.Format files provide a flexible way to interpret data as it is in the data file during import, and also to format data in the data file during export. Эта гибкость исключает необходимость записи специализированного кода для интерпретации данных или изменения формата данных для особых нужд в SQL ServerSQL Server или внешних приложениях.This flexibility eliminates the need to write special-purpose code to interpret the data or reformat the data to the specific requirements of SQL ServerSQL Server or the external application. Таким образом, например, если экспортируются данные для загрузки в приложение, файлу данных потребуются значения с разделительными-запятыми. Для вставки запятых в качестве признаков конца полей можно использовать файл форматирования.For example, if you are bulk exporting data to be loaded into an application that requires comma-separated values, you can use a format file to insert commas as field terminators in the exported data.

В SQL ServerSQL Server поддерживаются файлы форматирования двух видов: XML-файл форматирования и файл форматирования в формате, отличном от XML.SQL ServerSQL Server supports two kinds of format files: XML format files and non-XML format files.

Программа bcp — это единственное средство, позволяющее создать файл форматирования.The bcp utility is the only tool that can generate a format file. Дополнительные сведения см. в разделе Создание файла форматирования (SQL Server).For more information, see Create a Format File (SQL Server). Дополнительные сведения об использовании файлов форматирования см. в разделе Файлы форматирования для импорта или экспорта данных (SQL Server ).For more information about format files, see Format Files for Importing or Exporting Data (SQL Server).

Примечание

В тех случаях, когда файл форматирования не задан во время выполнения операций массового экспорта или импорта, можно переопределить применяемые по умолчанию параметры форматирования в командной строке.In cases when a format file is not supplied during a bulk export or import operations, you can override the default formatting at the command line.

См. такжеRelated Topics
Подготовка данных к массовому экспорту или импорту (SQL Server)Prepare Data for Bulk Export or Import (SQL Server)
Форматы данных для массового экспорта или импорта (SQL Server)Data Formats for Bulk Import or Bulk Export (SQL Server)
 ● Использование собственного формата для импорта или экспорта данных (SQL Server) ● Use Native Format to Import or Export Data (SQL Server)
 ● Использование символьного формата для импорта или экспорта данных (SQL Server) ● Use Character Format to Import or Export Data (SQL Server)
 ● Использование собственного формата Юникода для импорта или экспорта данных (SQL Server) ● Use Unicode Native Format to Import or Export Data (SQL Server)
 ● Использование символьного формата Юникода для импорта или экспорта данных (SQL Server) ● Use Unicode Character Format to Import or Export Data (SQL Server)
 ● Импорт данных в собственном и символьном формате из предыдущих версий SQL Server ● Import Native and Character Format Data from Earlier Versions of SQL Server
Указание форматов данных для совместимости с помощью программы bcp (SQL Server)Specify Data Formats for Compatibility when Using bcp (SQL Server)
 ● Указание типа хранилища файлов с помощью программы bcp (SQL Server) ● Specify File Storage Type by Using bcp (SQL Server)
 ● Определение длины префикса в файлах данных с помощью программы bcp (SQL Server) ● Specify Prefix Length in Data Files by Using bcp (SQL Server)
 ● Указание длины поля с помощью программы bcp (SQL Server) ● Specify Field Length by Using bcp (SQL Server)
 ● Определение признаков конца поля и строки (SQL Server) ● Specify Field and Row Terminators (SQL Server)
Сохранение значений NULL или использование значений по умолчанию при массовом импорте данных (SQL Server)Keep Nulls or Use Default Values During Bulk Import (SQL Server)
Сохранение значений идентификаторов при массовом импорте данных (SQL Server)Keep Identity Values When Bulk Importing Data (SQL Server)
Файлы форматирования для импорта или экспорта данных (SQL Server)Format Files for Importing or Exporting Data (SQL Server)
 ● Создание файла форматирования (SQL Server) ● Create a Format File (SQL Server)
 ● Использование файла форматирования для массового импорта данных (SQL Server) ● Use a Format File to Bulk Import Data (SQL Server)
 ● Использование файла форматирования для пропуска столбца таблицы (SQL Server) ● Use a Format File to Skip a Table Column (SQL Server)
 ● Использование файла форматирования для пропуска поля данных (SQL Server) ● Use a Format File to Skip a Data Field (SQL Server)
 ● Использование файла форматирования для сопоставления столбцов таблицы с полями файла данных (SQL Server) ● Use a Format File to Map Table Columns to Data-File Fields (SQL Server)

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

Предварительные условия для минимального протоколирования массового импорта данных Prerequisites for Minimal Logging in Bulk Import
Примеры массового импорта и экспорта XML-документов (SQL Server) Examples of Bulk Import and Export of XML Documents (SQL Server)
службы SQL Server Integration Services SQL Server Integration Services
Копирование баз данных на другие серверы Copy Databases to Other Servers
Выполнение массовой загрузки XML-данных (SQLXML 4.0) Performing Bulk Load of XML Data (SQLXML 4.0)
Выполнение операций массового копированияPerforming Bulk Copy Operations