Программа bcpbcp Utility

Bcp программа массового копирования данных между экземпляром MicrosoftMicrosoft SQL ServerSQL Server и файлом данных в указанном пользователем формате.The bcp utility bulk copies data between an instance of MicrosoftMicrosoft SQL ServerSQL Server and a data file in a user-specified format. С помощью программы bcp можно выполнять импорт большого количества новых строк в таблицы SQL ServerSQL Server или экспорт данных из таблиц в файлы данных.The bcp utility can be used to import large numbers of new rows into SQL ServerSQL Server tables or to export data out of tables into data files. За исключением случаев использования параметра queryout , применение программы не требует знания языка Transact-SQLTransact-SQL.Except when used with the queryout option, the utility requires no knowledge of Transact-SQLTransact-SQL. Чтобы выполнить импорт данных в таблицу, необходимо или использовать файл форматирования, созданный для этой таблицы, либо изучить структуру таблицы и типов данных, допустимых для ее столбцов.To import data into a table, you must either use a format file created for that table or understand the structure of the table and the types of data that are valid for its columns.

Topic link iconСведения о синтаксических обозначениях в программе bcp см. в разделе Синтаксические обозначения в Transact-SQL (Transact-SQL).Topic link icon For the syntax conventions that are used for the bcp syntax, see Transact-SQL Syntax Conventions (Transact-SQL).

Примечание

При использовании программы bcp для резервного копирования данных создайте файл форматирования для записи формата данных.If you use bcp to back up your data, create a format file to record the data format. Файлы данныхbcp не включают сведения о схеме или формате, поэтому при удалении таблицы или представления, если отсутствует файл форматирования, импорт данных будет невозможен.bcp data files do not include any schema or format information, so if a table or view is dropped and you do not have a format file, you may be unable to import the data.

СинтаксисSyntax

  
   bcp [database_name.] schema.{table_name | view_name | "query" {indata_file | outdata_file | queryoutdata_file | format nul}  
  
[-apacket_size]  
[-bbatch_size]  
[-c]  
[-C { ACP | OEM | RAW | code_page } ]  
[-ddatabase_name]  
[-eerr_file]  
[-E]  
[-fformat_file]  
[-Ffirst_row]  
[-h"hint [,...n]"]   
[-iinput_file]  
[-k]  
[-Kapplication_intent]  
[-Llast_row]  
[-mmax_errors]  
[-n]  
[-N]  
[-ooutput_file]  
[-Ppassword]  
[-q]  
[-rrow_term]  
[-R]  
[-S [server_name[\instance_name]]  
[-tfield_term]  
[-T]  
[-Ulogin_id]  
[-v]  
[-V (80 | 90 | 100 | 110)]  
[-w]  
[-x]  
/?  

АргументыArguments

data_filedata_file
Полный путь файла данных.Is the full path of the data file. После выполнения массового импорта данных в SQL ServerSQL Serverфайл данных содержит данные, которые будут скопированы в указанную таблицу или представление.When data is bulk imported into SQL ServerSQL Server, the data file contains the data to be copied into the specified table or view. После выполнения массового экспорта данных из SQL ServerSQL Serverфайл данных содержит данные, скопированные из таблицы или представления.When data is bulk exported from SQL ServerSQL Server, the data file contains the data copied from the table or view. Путь может содержать от 1 до 255 символов.The path can have from 1 through 255 characters. Файл данных может содержать максимум 263 – 1 строк.The data file can contain a maximum of 263 - 1 rows.

database_namedatabase_name
Имя базы данных, в которой находится указанная таблица или представление.Is the name of the database in which the specified table or view resides. Эта база данных будет по умолчанию использоваться для пользователя, если не указано иное.If not specified, this is the default database for the user.

Можно также явным образом указать имя базы данных с помощью параметра d-.You can also explicitly specify the database name with d-.

in data_file | outdata_file | queryoutdata_file | format nulin data_file | outdata_file | queryoutdata_file | format nul
Указывает направление массового копирования следующим образом:Specifies the direction of the bulk copy, as follows:

  • in — выполняется копирование из файла в таблицу или представление базы данных.in copies from a file into the database table or view.

  • out — выполняется копирование из таблицы или представления базы данных в файл.out copies from the database table or view to a file. Если указать существующий файл, то файл перезаписывается.If you specify an existing file, the file is overwritten. При извлечении данных обратите внимание, что программа bcp представляет пустую строку как строку NULL, а строку NULL — как пустую строку.When extracting data, note that the bcp utility represents an empty string as a null and a null string as an empty string.

  • queryout — выполняется копирование из запроса. Этот аргумент может быть указан только при выполнении массового копирования данных из запроса.queryout copies from a query and must be specified only when bulk copying data from a query.

  • формат создает файл форматирования, основанный на указанных параметрах ( - n, -c, -w, или -N) и разделителях таблиц или представлений.format creates a format file based on the option specified (-n, -c, -w, or -N) and the table or view delimiters. При выполнении массового копирования данных программа bcp может обратиться к файлу форматирования, что позволяет избежать повторного ввода данных о формате в интерактивном режиме.When bulk copying data, the bcp command can refer to a format file, which saves you from re-entering format information interactively. Параметр format требует наличия параметра -f. Для создания XML-файла форматирования, кроме того, необходим параметр -x.The format option requires the -f option; creating an XML format file, also requires the -x option. Дополнительные сведения см. в разделе Создание файла форматирования (SQL Server).For more information, see Create a Format File (SQL Server). В качестве значения необходимо указать nul (format nul).You must specify nul as the value (format nul).

Владелецowner
Имя владельца таблицы или представления.Is the name of the owner of the table or view. Можно не указывать необязательный параметрowner , если пользователь, выполняющий операцию, является владельцем указанной таблицы или представления.owner is optional if the user performing the operation owns the specified table or view. SQL ServerSQL Server вернет сообщение об ошибке и операция завершится, если аргумент owner не указан, а пользователь, выполняющий операцию, не является владельцем указанной таблицы или представления.If owner is not specified and the user performing the operation does not own the specified table or view, SQL ServerSQL Server returns an error message, and the operation is canceled.

" query "" query "
Запрос на языке Transact-SQLTransact-SQL, который возвращает результирующий набор.Is a Transact-SQLTransact-SQL query that returns a result set. Если запрос возвращает несколько результирующих наборов, то в файл данных будет скопирован только первый результирующий набор. Последующие результирующие наборы не учитываются.If the query returns multiple result sets, only the first result set is copied to the data file; subsequent result sets are ignored. Используйте двойные кавычки для запроса и одинарные кавычки для выражений, внедренных в запрос.Use double quotation marks around the query and single quotation marks around anything embedded in the query. При выполнении массового копирования данных из запроса необходимо, помимо прочего, указывать аргументqueryout .queryout must also be specified when bulk copying data from a query.

Запрос может ссылаться на хранимую процедуру, если все таблицы, на которые имеются ссылки в хранимой процедуре, существуют до выполнения инструкции bcp.The query can reference a stored procedure as long as all tables referenced inside the stored procedure exist prior to executing the bcp statement. Например, если хранимая процедура порождает временную таблицу, инструкция bcp завершается с ошибкой, поскольку временная таблица доступна только во время выполнения, а не во время запуска инструкции.For example, if the stored procedure generates a temp table, the bcp statement fails because the temp table is available only at run time and not at statement execution time. В этом случае можно вставить результаты работы хранимой процедуры в таблицу, после чего использовать bcp для копирования данных из этой таблицы в файл данных.In this case, consider inserting the results of the stored procedure into a table and then use bcp to copy the data from the table into a data file.

table_nametable_name
Имя целевой таблицы при импорте данных в SQL ServerSQL Server (in) или таблицы-источника при экспорте данных из SQL ServerSQL Server (out).Is the name of the destination table when importing data into SQL ServerSQL Server (in), and the source table when exporting data from SQL ServerSQL Server (out).

view_nameview_name
Имя целевого представления при копировании данных в SQL ServerSQL Server (in) или представления-источника при копировании данных из SQL ServerSQL Server (out).Is the name of the destination view when copying data into SQL ServerSQL Server (in), and the source view when copying data from SQL ServerSQL Server (out). В качестве целевых представлений могут выступать только те представления, в которых все столбцы ссылаются на одну таблицу.Only views in which all columns refer to the same table can be used as destination views. Дополнительные сведения об ограничениях, накладываемых на копирование данных в представления, см. в разделе INSERT (Transact-SQL).For more information on the restrictions for copying data into views, see INSERT (Transact-SQL).

-a packet_size-a packet_size
Указывает число байтов в каждом сетевом пакете, отправляемом от сервера и к серверу.Specifies the number of bytes, per network packet, sent to and from the server. Параметр конфигурации сервера можно задать с помощью среды SQL Server Management StudioSQL Server Management Studio (или системной хранимой процедуры sp_configure ).A server configuration option can be set by using SQL Server Management StudioSQL Server Management Studio (or the sp_configure system stored procedure). Однако параметр конфигурации сервера в отдельных случаях можно изменить с помощью этого параметра.However, the server configuration option can be overridden on an individual basis by using this option. Значениеpacket_size может находиться в пределах от 4096 до 65535 байт, значение по умолчанию равно 4096.packet_size can be from 4096 to 65535 bytes; the default is 4096.

Увеличение размера пакета может повысить производительность операций массового копирования.Increased packet size can enhance performance of bulk-copy operations. Если был запрошен пакет большего размера, но он не может быть предоставлен, то используется значение по умолчанию.If a larger packet is requested but cannot be granted, the default is used. Статистика производительности, формируемая программой bcp , показывает используемый размер пакета.The performance statistics generated by the bcp utility show the packet size used.

-b batch_size-b batch_size
Указывает количество строк в каждом пакете импортированных данных.Specifies the number of rows per batch of imported data. Каждый пакет импортируется и регистрируется как отдельная транзакция, которая фиксируется после выполнения импорта всего пакета.Each batch is imported and logged as a separate transaction that imports the whole batch before being committed. По умолчанию импорт всех строк в файле данных выполняется в одном пакете.By default, all the rows in the data file are imported as one batch. Чтобы распределить строки между несколькими пакетами, укажите значение batch_size меньшее, чем количество строк в файле данных.To distribute the rows among multiple batches, specify a batch_size that is smaller than the number of rows in the data file. Если транзакция пакета завершится неудачно, то будет выполнен откат только операций вставки в текущем пакете.If the transaction for any batch fails, only insertions from the current batch are rolled back. Произошедшая ошибка не затрагивает пакеты, импорт которых уже выполнен зафиксированными транзакциями.Batches already imported by committed transactions are unaffected by a later failure.

Не используйте этот параметр в сочетании с -h» ROWS_PER_BATCH = bb " параметр.Do not use this option in conjunction with the -h" ROWS_PER_BATCH =bb" option.

-c
Выполняет операцию, используя символьный тип данных.Performs the operation using a character data type. Этот параметр не запрашивает тип данных каждого поля. она использует char как тип хранилища, префиксы отсутствуют и с \t (символ табуляции) в качестве разделителя полей и \r\n (символ перевода строки) в качестве признака конца строки.This option does not prompt for each field; it uses char as the storage type, without prefixes and with \t (tab character) as the field separator and \r\n (newline character) as the row terminator. -c несовместим с -w.-c is not compatible with -w.

Дополнительные сведения см. в разделе Использование символьного формата для импорта и экспорта данных (SQL Server).For more information, see Use Character Format to Import or Export Data (SQL Server).

-C { ACP | OEM | RAW | code_page }-C { ACP | OEM | RAW | code_page }
Указывает кодовую страницу данных в файле данных.Specifies the code page of the data in the data file. code_page используется только в том случае, если данные содержат char, varchar, или text столбцов с символьными значениями более 127 или меньше 32.code_page is relevant only if the data contains char, varchar, or text columns with character values greater than 127 or less than 32.

Примечание

Рекомендуется указывать имя параметров сортировки для каждого столбца в файле форматирования.We recommend specifying a collation name for each column in a format file.

Значение кодовой страницыCode page value ОписаниеDescription
ACPACP ANSIANSI/Microsoft Windows (ISO 1252)./Microsoft Windows (ISO 1252).
OEMOEM Кодовая страница, используемая клиентом по умолчанию.Default code page used by the client. Это кодовая страница, используемая по умолчанию, если не указан параметр -C .This is the default code page used if -C is not specified.
RAWRAW Преобразование из одной кодовой страницы в другую не выполняется.No conversion from one code page to another occurs. Этот параметр обеспечивает высокую производительность, так как преобразование не выполняется.This is the fastest option because no conversion occurs.
code_pagecode_page Определенный номер кодовой страницы, например 850.Specific code page number; for example, 850.

**Важные * * SQL ServerSQL Server не поддерживает кодовую страницу 65001 (кодировка UTF-8).** Important ** SQL ServerSQL Server does not support code page 65001 (UTF-8 encoding).

-d database_name-d database_name
Указывает базу данных, с которой надо соединиться.Specifies the database to connect to. По умолчанию программа bcp.exe соединяется с пользовательской базой данных по умолчанию.By default, bcp.exe connects to the user's default database. Если -d имя_базы_данных и трехкомпонентным именем (database_name.schema.table, переданное в качестве первого параметра в bcp.exe) указано, произойдет ошибка, так как нельзя указать два раза имя базы данных. Если имя_базы_данных начинается с дефиса (-) или косой черты (/), не добавляйте пробел между -d и имя базы данных.If -ddatabase_name and a three part name (database_name.schema.table, passed as the first parameter to bcp.exe) is specified, an error will occur because you cannot specify the database name twice.If database_name begins with a hyphen (-) or a forward slash (/), do not add a space between -d and the database name.

-e err_file-e err_file
Указывает полный путь к файлу ошибок, используемому для хранения строк, которые служебная программа bcp не может передать из файла в базу данных.Specifies the full path of an error file used to store any rows that the bcp utility cannot transfer from the file to the database. Сообщения об ошибках команды bcp поступают на рабочую станцию пользователя.Error messages from the bcp command go to the workstation of the user. Если этот параметр не используется, то файл ошибок не создается.If this option is not used, an error file is not created.

Если параметр err_file начинается с дефиса (-) или косой черты (/), не ставьте пробел между -e и значением err_file .If err_file begins with a hyphen (-) or a forward slash (/), do not include a space between -e and the err_file value.

-E-E
Указывает, что значение или значения идентификаторов в файле импортированных данных будут использоваться для столбца идентификаторов.Specifies that identity value or values in the imported data file are to be used for the identity column. Если аргумент -E не указан, значения идентификаторов для этого столбца в импортируемом файле данных не учитываются, и SQL ServerSQL Server автоматически назначает уникальные значения на основе начального значения и значения приращения, указанных во время создания таблицы.If -E is not given, the identity values for this column in the data file being imported are ignored, and SQL ServerSQL Server automatically assigns unique values based on the seed and increment values specified during table creation.

Если файл данных не содержит значений для столбца идентификаторов в таблице или представлении, то с помощью файла форматирования укажите, что столбец идентификаторов в таблице или представлении должен быть пропущен при импорте данных. SQL ServerSQL Server автоматически присвоит столбцу уникальные значения.If the data file does not contain values for the identity column in the table or view, use a format file to specify that the identity column in the table or view should be skipped when importing data; SQL ServerSQL Server automatically assigns unique values for the column. Дополнительные сведения см. в разделе DBCC CHECKIDENT (Transact-SQL).For more information, see DBCC CHECKIDENT (Transact-SQL).

Для использования параметра -E необходимы специальные разрешения.The -E option has a special permissions requirement. Дополнительные сведения см. в подразделе «Примечания» далее в этом разделе.For more information, see "Remarks" later in this topic.

-f format_file-f format_file
Указывает полный путь к файлу форматирования.Specifies the full path of a format file. Назначение этого параметра зависит от окружения, в котором он используется (см. далее):The meaning of this option depends on the environment in which it is used, as follows:

  • Если параметр -f используется с параметром format , для указанной таблицы или представления создается файл с именем format_file .If -f is used with the format option, the specified format_file is created for the specified table or view. Чтобы создать XML-файл форматирования, укажите параметр -x.To create an XML format file, also specify the -x option. Дополнительные сведения см в разделе Создание файла форматирования XML (SQL Server).For more information, see Create a Format File (SQL Server).

  • При использовании параметра in или out для -f должен существовать файл форматирования.If used with the in or out option, -f requires an existing format file.

    Примечание

    Необязательно использовать файл форматирования с параметром in или out .Using a format file in with the in or out option is optional. В случае отсутствия -f параметр, если - n, -c, -w, или -N не указан, команда запрашивает сведения о форматировании и позволяет сохранить Ваши ответы в файле форматирования (имя файла по умолчанию — Bcp.fmt).In the absence of the -f option, if -n, -c, -w, or -N is not specified, the command prompts for format information and lets you save your responses in a format file (whose default file name is Bcp.fmt).

Если параметр format_file начинается с дефиса (-) или косой черты (/), не ставьте пробел между -e и значением format_file .If format_file begins with a hyphen (-) or a forward slash (/), do not include a space between -f and the format_file value.

-F first_row-F first_row
Указывает номер первой строки для экспорта из таблицы или импорта из файла данных.Specifies the number of the first row to export from a table or import from a data file. Этот параметр должен иметь значение больше (>) 0 но меньше (<) или общее количество строк равно (=).This parameter requires a value greater than (>) 0 but less than (<) or equal to (=) the total number rows. Если параметр отсутствует, по умолчанию используется первая строка файла.In the absence of this parameter, the default is the first row of the file.

Параметрfirst_row может иметь положительное целое значение до 2^63-1.first_row can be a positive integer with a value up to 2^63-1. Аргумент -Ffirst_row имеет нумерацию, которая начинается с 1.-Ffirst_row is 1-based.

-h" hint[ , ... n] "-h" hint[ ,... n] "
Указывает одну или несколько подсказок для использования во время выполнения массового импорта данных в таблицу или представление.Specifies the hint or hints to be used during a bulk import of data into a table or view.

ORDER ( column[ASC | DESC] [ , ...n] )ORDER (column[ASC | DESC] [,...n])
Порядок сортировки данных в файле данных.The sort order of the data in the data file. Производительность массового импорта увеличивается, если импортируемые данные упорядочены согласно кластеризованному индексу таблицы (при наличии).Bulk import performance is improved if the data being imported is sorted according to the clustered index on the table, if any. Если файл данных отсортирован в порядке, отличном от порядка ключа кластеризованного индекса, или если в таблице отсутствует кластеризованный индекс, то предложение ORDER пропускается.If the data file is sorted in a different order, that is other than the order of a clustered index key, or if there is no clustered index on the table, the ORDER clause is ignored. В целевой таблице должны быть указаны имена столбцов.The column names supplied must be valid column names in the destination table. По умолчанию программа bcp предполагает, что файл данных не упорядочен.By default, bcp assumes the data file is unordered. Для оптимизированного массового импорта SQL ServerSQL Server , помимо прочего, проверяет сортировку импортируемых данных.For optimized bulk import, SQL ServerSQL Server also validates that the imported data is sorted.

ROWS_PER_BATCH = bbROWS_PER_BATCH =bb
Количество строк данных в каждом пакете (значение bb).Number of rows of data per batch (as bb). Используется в случае, если не указан параметр -b , что приводит к тому, что весь файл данных отправляется на сервер в ходе одной транзакции.Used when -b is not specified, resulting in the entire data file being sent to the server as a single transaction. Сервер оптимизирует массовую загрузку в соответствии со значением bb.The server optimizes the bulk load according to the value bb. По умолчанию значение аргумента ROWS_PER_BATCH неизвестно.By default, ROWS_PER_BATCH is unknown.

KILOBYTES_PER_BATCH = ccKILOBYTES_PER_BATCH = cc
Приблизительный объем данных в каждом пакете в килобайтах (значение cc).Approximate number of kilobytes of data per batch (as cc). По умолчанию, значение KILOBYTES_PER_BATCH неизвестно.By default, KILOBYTES_PER_BATCH is unknown.

TABLOCKTABLOCK
Указывает, что при выполнении массового обновления на период операции массовой загрузки будет получена блокировка на уровне таблицы. В противном случае запрашивается блокировка на уровне строки.Specifies that a bulk update table-level lock is acquired for the duration of the bulk load operation; otherwise, a row-level lock is acquired. Применение этого указания значительно повышает производительность, так как удержание блокировки в течение операции массового копирования уменьшает вероятность состязаний блокировок в таблице.This hint significantly improves performance because holding a lock for the duration of the bulk-copy operation reduces lock contention on the table. Если таблица не имеет индексов и указано ключевое слово TABLOCK , загрузка в таблицу может производиться параллельно несколькими клиентами.A table can be loaded concurrently by multiple clients if the table has no indexes and TABLOCK is specified. По умолчанию работа блокировки определяется параметром таблицы table lock on bulk load.By default, locking behavior is determined by the table option table lock on bulk load.

CHECK_CONSTRAINTSCHECK_CONSTRAINTS
Указывает, что при выполнении операции массового импорта будет выполняться проверка всех ограничений целевой таблицы или представления.Specifies that all constraints on the target table or view must be checked during the bulk-import operation. Если указание CHECK_CONSTRAINTS не задано, то все ограничения CHECK и FOREIGN KEY пропускаются, и после выполнения операции ограничение таблицы отмечается как ненадежное.Without the CHECK_CONSTRAINTS hint, any CHECK and FOREIGN KEY constraints are ignored, and after the operation the constraint on the table is marked as not-trusted.

Примечание

Ограничения UNIQUE, PRIMARY KEY и NOT NULL проверяются в любом случае.UNIQUE, PRIMARY KEY, and NOT NULL constraints are always enforced.

На некотором этапе понадобится проверить ограничения во всей таблице.At some point, you will need to check the constraints on the entire table. Если таблица была непустой до операции массового импорта данных, стоимость повторной проверки правильности ограничения может превысить стоимость применения ограничений CHECK к добавочным данным.If the table was nonempty before the bulk import operation, the cost of revalidating the constraint may exceed the cost of applying CHECK constraints to the incremental data. Поэтому корпорация Майкрософт рекомендует включить проверку ограничений во время выполнения добавочного массового импорта данных.Therefore, we recommend that normally you enable constraint checking during an incremental bulk import.

Отключение проверки ограничений (настройка по умолчанию) может потребоваться в тех ситуациях, когда входные данные содержат строки, нарушающие эти ограничения.A situation in which you might want constraints disabled (the default behavior) is if the input data contains rows that violate constraints. Импорт данных можно выполнить с отключенными ограничениями CHECK, после чего использовать инструкции языка Transact-SQLTransact-SQL для удаления недопустимых значений.With CHECK constraints disabled, you can import the data and then use Transact-SQLTransact-SQL statements to remove data that is not valid.

Примечание

Теперь программа bcp производит проверку данных, которые могут привести к ошибкам в работе существующих скриптов, если файлы данных будут содержать недопустимые данные.bcp now enforces data validation and data checks that might cause scripts to fail if they are executed on invalid data in a data file.

Примечание

Параметр -m max_errors не применяется при проверке ограничений.The -m max_errors switch does not apply to constraint checking.

FIRE_TRIGGERSFIRE_TRIGGERS
Применяется вместе с аргументом in и указывает, что в течение операции массового копирования будут работать триггеры Insert, определенные в целевой таблице.Specified with the in argument, any insert triggers defined on the destination table will run during the bulk-copy operation. Если параметр FIRE_TRIGGERS не указан, то триггеры Insert выполняться не будут.If FIRE_TRIGGERS is not specified, no insert triggers will run. Параметр FIRE_TRIGGERS для аргументов out, queryout и format не учитывается.FIRE_TRIGGERS is ignored for the out, queryout, and format arguments.

-i input_file-i input_file
Указывает имя файла ответов, содержащего ответы на вопросы командной строки для каждого поля данных при выполнении массового копирования в интерактивном режиме ( - n, -c, -w, или - N не указан).Specifies the name of a response file, containing the responses to the command prompt questions for each data field when a bulk copy is being performed using interactive mode (-n, -c, -w, or -N not specified).

Если параметр input_file начинается с дефиса (-) или косой черты (/), не ставьте пробел между -e и значением input_file .If input_file begins with a hyphen (-) or a forward slash (/), do not include a space between -i and the input_file value.

-k-k
Указывает, что пустые столбцы во время данной операции должны сохранить значение NULL вместо любых вставляемых значений столбцов по умолчанию.Specifies that empty columns should retain a null value during the operation, rather than have any default values for the columns inserted. Дополнительные сведения см. в разделе Сохранение значений NULL или использование значений по умолчанию при массовом импорте данных (SQL Server).For more information, see Keep Nulls or Use Default Values During Bulk Import (SQL Server).

-K application_intent-K application_intent
Объявляет тип рабочей нагрузки приложения при соединении с сервером.Declares the application workload type when connecting to a server. Единственным возможным значением является ReadOnly.The only value that is possible is ReadOnly. Если параметр -K не указан, программа bcp не будет поддерживать соединение с вторичной репликой в группе доступности AlwaysOn.If -K is not specified, the bcp utility will not support connectivity to a secondary replica in an AlwaysOn availability group. Дополнительные сведения см. в статье Активные вторичные реплики: Вторичные реплики для чтения (группы доступности AlwaysOn).For more information, see Active Secondaries: Readable Secondary Replicas (AlwaysOn Availability Groups).

-L last_row-L last_row
Указывает номер последней строки для экспорта из таблицы или импорта из файла данных.Specifies the number of the last row to export from a table or import from a data file. Этот параметр должен иметь значение больше (>) 0 но меньше (<) или равно (=), номер последней строки.This parameter requires a value greater than (>) 0 but less than (<) or equal to (=) the number of the last row. Если параметр отсутствует, по умолчанию используется последняя строка файла.In the absence of this parameter, the default is the last row of the file.

Параметр last_row может иметь положительное целое значение до 2^63-1.last_row can be a positive integer with a value up to 2^63-1.

-m max_errors-m max_errors
Указывает максимальное количество синтаксических ошибок, которые могут произойти до отмены операции bcp.Specifies the maximum number of syntax errors that can occur before the bcp operation is canceled. Синтаксическая ошибка подразумевает ошибку преобразования данных в целевой тип данных.A syntax error implies a data conversion error to the target data type. В общее количество ошибок max_errors не включаются ошибки, которые могут быть обнаружены только на сервере, например нарушения ограничений.The max_errors total excludes any errors that can be detected only at the server, such as constraint violations.

Строка, которую нельзя скопировать с помощью программы bcp , не обрабатывается и считается одной ошибкой.A row that cannot be copied by the bcp utility is ignored and is counted as one error. Если параметр не указан, то используется значение по умолчанию, равное 10.If this option is not included, the default is 10.

Примечание

-M параметр также применяется для преобразования money или bigint типов данных.The -m option also does not apply to converting the money or bigint data types.

-n-n
Выполняет операцию массового копирования, используя собственные типы данных (базы данных).Performs the bulk-copy operation using the native (database) data types of the data. Этот параметр не запрашивает тип данных для каждого поля, он использует собственные значения.This option does not prompt for each field; it uses the native values.

Дополнительные сведения см. в разделе Использование собственного формата для импорта и экспорта данных (SQL Server).For more information, see Use Native Format to Import or Export Data (SQL Server).

-N-N
Выполняет операцию массового копирования, используя собственные типы данных (базы данных) для несимвольных данных и символы Юникода для символьных данных.Performs the bulk-copy operation using the native (database) data types of the data for noncharacter data, and Unicode characters for character data. Этот параметр предлагает более высокопроизводительную альтернативу параметру -w и предназначен для передачи данных с одного экземпляра SQL ServerSQL Server на другой с помощью файла данных.This option offers a higher performance alternative to the -w option, and is intended for transferring data from one instance of SQL ServerSQL Server to another using a data file. Он не запрашивает тип данных каждого поля.It does not prompt for each field. Используйте этот параметр при передаче данных, которые содержат символы национального алфавита ANSI, а также, чтобы повысить производительность работы в собственном режиме.Use this option when you are transferring data that contains ANSI extended characters and you want to take advantage of the performance of native mode.

Дополнительные сведения см. в разделе Использование собственного формата Юникод для импорта и экспорта данных (SQL Server).For more information, see Use Unicode Native Format to Import or Export Data (SQL Server).

Если экспорт, а затем импорт данных в той же схемы таблицы с помощью bcp.exe с -N, может появиться предупреждающее сообщение об усечении при наличии фиксированной длины, не в Юникоде символьного столбца (например, char(10)).If you export and then import data to the same table schema by using bcp.exe with -N, you might see a truncation warning if there is a fixed length, non-Unicode character column (for example, char(10)).

Это предупреждение можно пропустить.The warning can be ignored. Одним из способов его устранения является применение аргумента командной строки -n вместо -N.One way to resolve this warning is to use -n instead of -N.

-o output_file-o output_file
Указывает имя файла, который принимает перенаправленные из командной строки выходные данные.Specifies the name of a file that receives output redirected from the command prompt.

Если параметр output_file начинается с дефиса (-) или косой черты (/), не ставьте пробел между -e и значением output_file.If output_file begins with a hyphen (-) or a forward slash (/), do not include a space between -o and the output_file value.

-P пароль-P password
Указывает пароль для идентификатора имени входа.Specifies the password for the login ID. Если данный параметр не указан, команда bcp запрашивает пароль.If this option is not used, the bcp command prompts for a password. Если этот параметр используется в конце командной строки без указания пароля, программа bcp применяет пароль по умолчанию (NULL).If this option is used at the end of the command prompt without a password, bcp uses the default password (NULL).

Важно!

Не используйте пустые пароли.Do not use a blank password. Выбирайте надежные пароли.Use a strong password.

Чтобы скрыть пароль, не указывайте параметр -P вместе с параметром -U .To mask your password, do not specify the -P option along with the -U option. Вместо этого после ввода команды bcp с параметром -U и другими параметрами (не указывая -P) нажмите клавишу ВВОД, и команда предложит ввести пароль.Instead, after specifying bcp along with the -U option and other switches (do not specify -P), press ENTER, and the command will prompt you for a password. Этот метод обеспечивает скрытие пароля при вводе.This method ensures that your password will be masked when it is entered.

Если параметр password начинается с дефиса (-) или косой черты (/), не включайте пробел между -P и значением password .If password begins with a hyphen (-) or a forward slash (/), do not add a space between -P and the password value.

-q
Выполняет инструкцию SET QUOTED_IDENTIFIERS ON в соединении между служебной программой bcp и экземпляром SQL ServerSQL Server.Executes the SET QUOTED_IDENTIFIERS ON statement in the connection between the bcp utility and an instance of SQL ServerSQL Server. Используйте этот параметр для указания базы данных, владельца, таблицы или имени представления, содержащих пробел или одинарную кавычку.Use this option to specify a database, owner, table, or view name that contains a space or a single quotation mark. Заключите все имя таблицы или представления, состоящее из трех частей, в кавычки ("").Enclose the entire three-part table or view name in quotation marks ("").

Чтобы указать имя базы данных, содержащее пробел или одинарные кавычки, следует использовать параметр -q.To specify a database name that contains a space or single quotation mark, you must use the -q option.

-q не применяется к значениям, переданным в -d.-q does not apply to values passed to -d.

Дополнительные сведения см. в подразделе «Примечания» далее в этом разделе.For more information, see Remarks, later in this topic.

-r row_term-r row_term
Указывает признак конца строки.Specifies the row terminator. Значением по умолчанию является \n (символ перевода строки).The default is \n (newline character). Используйте этот параметр, чтобы переопределить признак конца строки по умолчанию.Use this parameter to override the default row terminator. Дополнительные сведения см. в разделе Определение признаков конца поля и строки (SQL Server).For more information, see Specify Field and Row Terminators (SQL Server).

Если в команде bcp.exe указан признак конца строки в шестнадцатеричном виде, то значение будет усечено до 0x00.If you specify the row terminator in hexadecimal notation in a bcp.exe command, the value will be truncated at 0x00. Например, если указать значение 0x410041, то будет использовано значение 0x41.For example, if you specify 0x410041, 0x41 will be used.

Если параметр row_term начинается с дефиса (-) или косой черты (/), не ставьте пробел между -r и значением row_term .If row_term begins with a hyphen (-) or a forward slash (/), do not include a space between -r and the row_term value.

-R-R
Указывает, что массовое копирование в SQL ServerSQL Server данных в денежном формате, в формате даты и времени выполняется с помощью регионального формата, определенного настройками локали клиентского компьютера.Specifies that currency, date, and time data is bulk copied into SQL ServerSQL Server using the regional format defined for the locale setting of the client computer. По умолчанию региональные настройки не учитываются.By default, regional settings are ignored.

-S server_name[ \ instance_name]-S server_name[ \instance_name]
Указывает экземпляр SQL ServerSQL Server, к которому выполняется подключение.Specifies the instance of SQL ServerSQL Server to which to connect. Если сервер не указан, программа bcp выполняет подключение к экземпляру SQL ServerSQL Server по умолчанию на локальном компьютере.If no server is specified, the bcp utility connects to the default instance of SQL ServerSQL Server on the local computer. Этот параметр необходим, если команда bcp выполняется с удаленного компьютера в сети или с локального именованного экземпляра.This option is required when a bcp command is run from a remote computer on the network or a local named instance. Чтобы подключиться к экземпляру по умолчанию SQL ServerSQL Server на сервере, укажите только server_name.To connect to the default instance of SQL ServerSQL Server on a server, specify only server_name. Чтобы подключиться к именованному экземпляру SQL ServerSQL Server, укажите server_name ** \* instance_name*.To connect to a named instance of SQL ServerSQL Server, specify server_name**\* instance_name*.

-t field_term-t field_term
Указывает признак конца поля.Specifies the field terminator. Значением по умолчанию является \t (символ табуляции).The default is \t (tab character). Используйте этот параметр, чтобы переопределить признак конца поля по умолчанию.Use this parameter to override the default field terminator. Дополнительные сведения см. в разделе Определение признаков конца поля и строки (SQL Server).For more information, see Specify Field and Row Terminators (SQL Server).

Если в команде bcp.exe указан признак конца поля в шестнадцатеричном виде, то значение будет усечено до 0x00.If you specify the field terminator in hexadecimal notation in a bcp.exe command, the value will be truncated at 0x00. Например, если указать значение 0x410041, то будет использовано значение 0x41.For example, if you specify 0x410041, 0x41 will be used.

Если field_term начинается с дефиса (-) или косой черты (/), не ставьте пробел между -t и field_term значение.If field_term begins with a hyphen (-) or a forward slash (/), do not include a space between -t and the field_term value.

-T-T
Указывает, что программа bcp устанавливает доверительное соединение с SQL ServerSQL Server с использованием встроенной безопасности.Specifies that the bcp utility connects to SQL ServerSQL Server with a trusted connection using integrated security. Не требуются учетные данные безопасности для сетевого пользователя, параметры login_idи password .The security credentials of the network user, login_id, and password are not required. Если параметр -T не указан, для входа необходимо указать -U и -P .If -T is not specified, you need to specify -U and -P to successfully log in.

-U идентификатор_входа-U login_id
Указывает идентификатор входа, используемый для соединения с SQL ServerSQL Server.Specifies the login ID used to connect to SQL ServerSQL Server.

Важно!

Если программа bcp подключается к SQL ServerSQL Server с помощью доверенного соединения, используя встроенную безопасность, укажите параметр -T (доверенное соединение) вместо сочетания параметров user name и password .When the bcp utility is connecting to SQL ServerSQL Server with a trusted connection using integrated security, use the -T option (trusted connection) instead of the user name and password combination.

-v-v
Выводит номер версии и сведения об авторских правах для служебной программы bcp .Reports the bcp utility version number and copyright.

-V (80 | 90 | 100| 110)-V (80 | 90 | 100| 110)
Выполняет операцию массового копирования, используя типы данных более ранней версии SQL ServerSQL Server.Performs the bulk-copy operation using data types from an earlier version of SQL ServerSQL Server. Этот параметр не запрашивает тип данных каждого поля, он использует значения по умолчанию.This option does not prompt for each field; it uses the default values.

80 = SQL Server 2000SQL Server 200080 = SQL Server 2000SQL Server 2000

90 = SQL Server 2005SQL Server 200590 = SQL Server 2005SQL Server 2005

100 = SQL Server 2008SQL Server 2008 и SQL Server 2008 R2SQL Server 2008 R2100 = SQL Server 2008SQL Server 2008 and SQL Server 2008 R2SQL Server 2008 R2

110 = SQL Server 2012SQL Server 2012110 = SQL Server 2012SQL Server 2012

Например, чтобы создать данные для типов, не поддерживаемых SQL Server 2000SQL Server 2000, но введенных в более поздних версиях SQL ServerSQL Server, используйте параметр -V80.For example, to generate data for types not supported by SQL Server 2000SQL Server 2000, but were introduced in later versions of SQL ServerSQL Server, use the -V80 option.

Дополнительные сведения см. в разделе Импорт данных в собственном и символьном формате из предыдущих версий SQL Server.For more information, see Import Native and Character Format Data from Earlier Versions of SQL Server.

-w
Выполняет операцию массового копирования, используя символы Юникода.Performs the bulk copy operation using Unicode characters. Этот параметр не запрашивает тип данных каждого поля. она использует nchar как тип хранилища, отсутствуют префиксы, \t (символ табуляции) как разделитель полей, и \n (символ перевода строки) в качестве признака конца строки.This option does not prompt for each field; it uses nchar as the storage type, no prefixes, \t (tab character) as the field separator, and \n (newline character) as the row terminator. -w несовместим с -c.-w is not compatible with -c.

Дополнительные сведения см. в разделе Использование символьного формата Юникод для импорта и экспорта данных (SQL Server).For more information, see Use Unicode Character Format to Import or Export Data (SQL Server).

-x-x
При использовании вместе с параметрами format и -fformat_file приводит к созданию файла форматирования на основе XML. По умолчанию создается файл форматирования в формате, отличном от XML.Used with the format and -fformat_file options, generates an XML-based format file instead of the default non-XML format file. Параметр -x не работает при импорте или экспорте данных.The -x does not work when importing or exporting data. Применение этого параметра без параметров format и -fformat_file приведет к ошибке.It generates an error if used without both format and -fformat_file.

ПримечанияRemarks

Bcp клиент 12.0 устанавливается при установке MicrosoftMicrosoft SQL Server 2014SQL Server 2014 средства.The bcp 12.0 client is installed when you install MicrosoftMicrosoftSQL Server 2014SQL Server 2014 tools. Если установлены средства как SQL Server 2014SQL Server 2014, так и более ранней версии SQL ServerSQL Server, то в зависимости от значения переменной среды PATH вместо bcp 12.0 необходимо использовать более раннюю версию клиента bcp.If tools are installed for both SQL Server 2014SQL Server 2014 and an earlier version of SQL ServerSQL Server, depending on the value of the PATH environment variable, you might be using the earlier bcp client instead of the bcp 12.0 client. Переменная среды определяет набор каталогов, используемых Windows для поиска исполняемых файлов.This environment variable defines the set of directories used by Windows to search for executable files. Чтобы определить используемую версию, запустите в командной строке Windows команду bcp /v .To discover which version you are using, run the bcp /v command at the Windows Command Prompt. Сведения о настройке пути для команды в переменной среды PATH см. в справке Windows.For information about how to set the command path in the PATH environment variable, see Windows Help.

XML-файлы форматирования поддерживаются только при установке средств SQL ServerSQL Server вместе с собственным клиентом SQL ServerSQL Server.XML format files are only supported when SQL ServerSQL Server tools are installed together with SQL ServerSQL Server Native Client.

Сведения о том, как найти и запустить программу bcp, а также соглашение о синтаксисе программ командной строки см. в разделе Справочник по программе командной строки (компонент Database Engine).For information about where to find or how to run the bcp utility and about the command prompt utilities syntax conventions, see Command Prompt Utility Reference (Database Engine).

Дополнительные сведения о подготовке данных к массовому импорту или экспорту см. в разделе Подготовка данных к массовому экспорту или импорту (SQL Server).For information on preparing data for bulk import or export operations, see Prepare Data for Bulk Export or Import (SQL Server).

Сведения о том, когда в журнале транзакций регистрируются операции вставки строк, выполняемые при массовом импорте, см. в разделе Предварительные условия для минимального протоколирования массового импорта данных.For information about when row-insert operations that are performed by bulk import are logged in the transaction log, see Prerequisites for Minimal Logging in Bulk Import.

Поддержка собственного формата файлов данныхNative Data File Support

В SQL Server 2014SQL Server 2014программа bcp поддерживает только собственные файлы данных, совместимые с SQL Server 2000SQL Server 2000, SQL Server 2005SQL Server 2005, SQL Server 2008SQL Server 2008, SQL Server 2008 R2SQL Server 2008 R2и SQL Server 2012SQL Server 2012.In SQL Server 2014SQL Server 2014, the bcp utility supports native data files compatible with SQL Server 2000SQL Server 2000, SQL Server 2005SQL Server 2005, SQL Server 2008SQL Server 2008, SQL Server 2008 R2SQL Server 2008 R2, and SQL Server 2012SQL Server 2012.

Вычисляемые столбцы и столбцы типа timestampComputed Columns and timestamp Columns

При выполнении импорта значений в файле данных для вычисляемых столбцов и столбцов типа timestamp столбцы пропускаются, и SQL ServerSQL Server присваивает значения автоматически.Values in the data file being imported for computed or timestamp columns are ignored, and SQL ServerSQL Server automatically assigns values. Если файл данных не содержит значений для вычисляемых столбцов или столбцов типа timestamp в таблице, следует использовать файл форматирования, в котором будет указано, что вычисляемые столбцы или столбцы типа timestamp в таблице должны быть пропущены при импорте данных. SQL ServerSQL Server автоматически присвоит значения для столбца.If the data file does not contain values for the computed or timestamp columns in the table, use a format file to specify that the computed or timestamp columns in the table should be skipped when importing data; SQL ServerSQL Server automatically assigns values for the column.

При массовом копировании вычисляемые столбцы и столбцы типа timestamp копируются из SQL ServerSQL Server в файл данных обычным способом.Computed and timestamp columns are bulk copied from SQL ServerSQL Server to a data file as usual.

Указание идентификаторов, содержащих пробелы или кавычкиSpecifying Identifiers That Contain Spaces or Quotation Marks

SQL ServerSQL Server могут содержать такие символы, как внедренные пробелы и кавычки.identifiers can include characters such as embedded spaces and quotation marks. Такие идентификаторы должны обрабатываться следующим образом.Such identifiers must be treated as follows:

  • Если идентификатор или имя файла содержит пробел или кавычку в командной строке, заключите идентификатор в двойные кавычки ("").When you specify an identifier or file name that includes a space or quotation mark at the command prompt, enclose the identifier in quotation marks ("").

    Например, следующая команда bcp out создает файл данных с именем Currency Types.dat:For example, the following bcp out command creates a data file named Currency Types.dat:

    bcp AdventureWorks2012.Sales.Currency out "Currency Types.dat" -T -c  
    
  • Чтобы указать имя базы данных, содержащее пробел или кавычки, необходимо использовать параметр -q.To specify a database name that contains a space or quotation mark, you must use the -q option.

  • Для имен владельца, таблицы или представления, содержащих внедренные пробелы или кавычки, также можно:For owner, table, or view names that contain embedded spaces or quotation marks, you can either:

    • указать параметр -q; илиSpecify the -q option, or

    • заключить имя владельца, таблицы или представления в квадратные скобки ([]) внутри кавычек.Enclose the owner, table, or view name in brackets ([]) inside the quotation marks.

Проверка данныхData Validation

Теперь программаbcp производит проверку данных, которые могут привести к ошибкам в работе существующих скриптов, если файлы данных будут содержать недопустимые данные.bcp now enforces data validation and data checks that might cause scripts to fail if they are executed on invalid data in a data file. Например, программа bcp проверяет, что:For example, bcp now verifies that:

  • собственные представления типов данных float или real являются допустимыми;The native representation of float or real data types are valid.

  • Данные в Юникоде имеют четную длину.Unicode data has an even-byte length.

Возможно, те недопустимые данные, импорт которых мог выполняться операцией массового импорта в предыдущих версиях SQL ServerSQL Server , теперь не удастся загрузить, тогда как в предыдущих версиях ошибка возникала только при попытке клиента подключиться к недопустимым данным.Forms of invalid data that could be bulk imported in earlier versions of SQL ServerSQL Server might fail to load now; whereas, in earlier versions, the failure did not occur until a client tried to access the invalid data. Добавленная проверка снижает вероятность непредвиденных ситуаций во время запроса данных после массовой загрузки.The added validation minimizes surprises when querying the data after bulk load.

Массовый экспорт или импорт документов SQLXMLBulk Exporting or Importing SQLXML Documents

Чтобы выполнить массовый экспорт или импорт SQLXML-данных используйте один из следующих типов данных в файле форматирования:To bulk export or import SQLXML data, use one of the following data types in your format file.

Тип данныхData type ДействиеEffect
SQLCHAR или SQLVARYCHARSQLCHAR or SQLVARYCHAR Данные отправляются в кодовой странице клиента или кодовой странице, определенной параметрами сортировки.The data is sent in the client code page or in the code page implied by the collation). Результат тот же, что и при указании параметра -c без указания файла форматирования.The effect is the same as specifying the -c switch without specifying a format file.
SQLNCHAR или SQLNVARCHARSQLNCHAR or SQLNVARCHAR Данные отправляются в Юникоде.The data is sent as Unicode. Результат тот же, что и при указании параметра -w без указания файла форматирования.The effect is the same as specifying the -w switch without specifying a format file.
SQLBINARY или SQLVARYBINSQLBINARY or SQLVARYBIN Данные отправляются без преобразования.The data is sent without any conversion.

РазрешенияPermissions

Для операции bcpout необходимо разрешение SELECT на исходную таблицу.A bcpout operation requires SELECT permission on the source table.

Для операции bcpin необходимы как минимум разрешения SELECT/INSERT на целевую таблицу.A bcpin operation minimally requires SELECT/INSERT permissions on the target table. Кроме того, разрешение ALTER TABLE необходимо в следующих случаях.In addition, ALTER TABLE permission is required if any of the following is true:

  • Ограничения существуют, а указание CHECK_CONSTRAINTS не задано.Constraints exist and the CHECK_CONSTRAINTS hint is not specified.

    Примечание

    Ограничения отключены по умолчанию.Disabling constraints is the default behavior. Чтобы явно включить ограничения, используйте параметр -h с подсказкой CHECK_CONSTRAINTS.To enable constraints explicitly, use the -h option with the CHECK_CONSTRAINTS hint.

  • Триггеры существуют, а указание FIRE_TRIGGER не задано.Triggers exist and the FIRE_TRIGGER hint is not specified.

    Примечание

    По умолчанию, триггеры не срабатывают.By default, triggers are not fired. Чтобы запустить триггеры явно, используйте параметр -h с подсказкой FIRE_TRIGGERS.To fire triggers explicitly, use the -h option with the FIRE_TRIGGERS hint.

  • Используйте параметр -E , чтобы выполнить импорт значений идентификаторов из файла данных.You use the -E option to import identity values from a data file.

Примечание

Необходимость наличия разрешения ALTER TABLE на целевую таблицу было новой особенностью SQL Server 2005SQL Server 2005.Requiring ALTER TABLE permission on the target table was new in SQL Server 2005SQL Server 2005. Если у учетной записи пользователя нет разрешений ALTER на целевую таблицу, это новое требование может привести к ошибке скриптов bcp , не применяющих принудительно триггеры и проверку ограничений.This new requirement might cause bcp scripts that do not enforce triggers and constraint checks to fail if the user account lacks ALTER table permissions for the target table.

Рекомендации для символьного режима (-c) и собственного режима (-n)Character Mode (-c) and Native Mode (-n) Best Practices

Этот раздел содержит рекомендации для символьного режима (-c) и собственного режима (-n).This section has recommendations for to character mode (-c) and native mode (-n).

  • (Администратор/пользователь) Если возможно, используйте собственный формат (-n) во избежание проблем с разделением.(Administrator/User) When possible, use native format (-n) to avoid the separator issue. Используйте собственный формат для экспорта и импорта с помощью SQL ServerSQL Server.Use the native format to export and import using SQL ServerSQL Server. Экспортируйте данные из SQL ServerSQL Server с помощью параметра - c или -w, если данные планируется импортировать в базу данных, отличную отSQL ServerSQL Server .Export data from SQL ServerSQL Server using the -c or -w option if the data will be imported to a non-SQL ServerSQL Server database.

  • (Администратор) Проверьте данные при использовании BCP OUT.(Administrator) Verify data when using BCP OUT. Например, при использовании BCP OUT, BCP IN, а затем BCP OUT убедитесь, что данные экспортируются правильно и значения признака конца не используются как часть какого-либо значения данных.For example, when you use BCP OUT, BCP IN, and then BCP OUT verify that the data is properly exported and the terminator values are not used as part of some data value. Попробуйте переопределить признаки конца по умолчанию (с помощью параметров -t и - r) на случайные шестнадцатеричные значения, чтобы избежать конфликта между значениями признака конца и значениями данных.Please consider overriding the default terminators (using -t and -r options) with random hexadecimal values to avoid conflicts between terminator values and data values.

  • (Пользователь) Используйте длинные и уникальные признаки конца (любая последовательность байт или символов), чтобы свести к минимуму возможность конфликта с фактическим строковым значением.(User) Use a long and unique terminator (any sequence of bytes or characters) to minimize the possibility of a conflict with the actual string value. Это можно выполнить с помощью параметров -t и -r.This can be done by using the -t and -r options.

ПримерыExamples

Этот раздел содержит следующие примеры.This section contains the following examples:

  • A.A. Копирование строк из таблицы в файл данных (с помощью доверительного соединения)Copying table rows into a data file (with a trusted connection)

  • Б.B. Копирование строк из таблицы в файл данных (в смешанном режиме проверки подлинности)Copying table rows into a data file (with Mixed-mode Authentication)

  • В.C. Копирование данных из файла в таблицуCopying data from a file to a table

  • Г.D. Копирование отдельного столбца в файл данныхCopying a specific column into a data file

  • Д.E. Копирование отдельной строки в файл данныхCopying a specific row into a data file

  • Е.F. Копирование данных из запроса в файл данныхCopying data from a query to a data file

  • Ж.G. Создание файла форматирования в формате, отличном от XMLCreating a non-XML format file

  • З.H. Создание XML-файла форматированияCreating an XML format file

  • И.I. Использование файла форматирования для массового импорта данных c помощью программы bcpUsing a format file to bulk import with bcp

A.A. Копирование строк из таблицы в файл данных (с помощью доверительного соединения)Copying table rows into a data file (with a trusted connection)

В следующем примере показано применение параметра out к таблице AdventureWorks2012.Sales.Currency .The following example illustrates the out option on the AdventureWorks2012.Sales.Currency table. В этом примере создается файл данных с именем Currency.dat и в него копируются данные таблицы в символьном формате.This example creates a data file named Currency.dat and copies the table data into it using character format. В этом примере предполагается, что используется проверка подлинности Windows и существует доверительное подключение к экземпляру сервера, на котором запускается команда bcp .The example assumes that you are using Windows Authentication and have a trusted connection to the server instance on which you are running the bcp command.

В командной строке введите следующую команду:At a command prompt, enter the following command:

bcp AdventureWorks2012.Sales.Currency out Currency.dat -T -c  

Б.B. Копирование строк из таблицы в файл данных (в смешанном режиме проверки подлинности)Copying table rows into a data file (with mixed-mode authentication)

В следующем примере показано применение параметра out к таблице AdventureWorks2012.Sales.Currency .The following example illustrates the out option on the AdventureWorks2012.Sales.Currency table. В этом примере создается файл данных с именем Currency.dat и в него копируются данные таблицы в символьном формате.This example creates a data file named Currency.dat and copies the table data into it using character format.

В этом примере предполагается, что применяется смешанный режим проверки подлинности. Для указания идентификатора входа необходимо использовать параметр -U.The example assumes that you are using mixed-mode authentication, you must use the -U switch to specify your login ID. Кроме того, за исключением случаев, когда выполняется соединение с экземпляром, не являющимся экземпляром SQL ServerSQL Server по умолчанию на локальном компьютере, нужно использовать параметр -S, чтобы указать системное имя и (при необходимости) имя экземпляра.Also, unless you are connecting to the default instance of SQL ServerSQL Server on the local computer, use the -S switch to specify the system name and, optionally, an instance name.

bcp AdventureWorks2012.Sales.Currency out Currency.dat -c -U<login_id> -S<server_name\instance_name>  

Система предложит ввести пароль.The system will prompt you for your password.

В.C. Копирование данных из файла в таблицуCopying data from a file to a table

В следующем примере показано применение параметра in с файлом, созданным в предыдущем примере (Currency.dat).The following example illustrates the in option by using the file created in the preceding example (Currency.dat). Тем не менее, сначала в этом примере создается пустая копия таблицы AdventureWorks2012 Sales.Currency, Sales.Currency2, в которую копируются данные.First, however, this example creates an empty copy of the AdventureWorks2012 Sales.Currency table, Sales.Currency2, into which the data is copied. В этом примере предполагается, что используется проверка подлинности Windows и существует доверительное подключение к экземпляру сервера, на котором запускается команда bcp .The example assumes that you are using Windows Authentication and have a trusted connection to the server instance on which you are running the bcp command.

Чтобы создать пустую таблицу, введите следующую команду в редакторе запросов:To create the empty table, in Query Editor, enter the following command:

USE AdventureWorks2012;  
GO  
SELECT * INTO AdventureWorks2012.Sales.Currency2   
FROM AdventureWorks2012.Sales.Currency WHERE 1=2;  

Для массового копирования символьных данных в новую таблицу, то есть для импорта данных, введите в командной строке следующую команду:To bulk copy the character data into the new table, that is to import the data, enter the following command at a command prompt:

bcp AdventureWorks2012.Sales.Currency2 in Currency.dat -T -c  

Чтобы убедиться в успешном выполнении команды, отобразите в редакторе запросов содержимое таблицы и введите:To verify that the command succeeded, display the contents of the table in Query Editor, and enter:

USE AdventureWorks2012;  
GO  
SELECT * FROM Sales.Currency2  

Г.D. Копирование отдельного столбца в файл данныхCopying a specific column into a data file

Чтобы выполнить копирование конкретного столбца, можно использовать параметр queryout .To copy a specific column, you can use the queryout option. Следующий пример копирует в файл данных из таблицы Name только столбец Sales.Currency .The following example copies only the Name column of the Sales.Currency table into a data file. В этом примере предполагается, что используется проверка подлинности Windows и существует доверительное подключение к экземпляру сервера, на котором запускается команда bcp .The example assumes that you are using Windows Authentication and have a trusted connection to the server instance on which you are running the bcp command.

В командной строке Windows введите:At the Windows command prompt, enter:

bcp "SELECT Name FROM AdventureWorks.Sales.Currency" queryout Currency.Name.dat -T -c  

Д.E. Копирование отдельной строки в файл данныхCopying a specific row into a data file

Чтобы выполнить копирование конкретной строки, можно использовать параметр queryout .To copy a specific row, you can use the queryout option. В следующем примере копируется только строка контакта с именем Jarrod Rana из таблицы AdventureWorks2012.Person.Person в файл данных (Jarrod Rana.dat). В этом примере предполагается, что используется проверка подлинности Windows и существует доверенное соединение с экземпляром сервера, на котором запускается команда bcp.The following example copies only the row for the contact named Jarrod Rana from the AdventureWorks2012.Person.Person table into a data file (Jarrod Rana.dat).The example assumes that you are using Windows Authentication and have a trusted connection to the server instance on which you are running the bcp command.

В командной строке Windows введите:At the Windows command prompt, enter:

bcp "SELECT * FROM AdventureWorks2012.Person.Person WHERE FirstName='Jarrod' AND LastName='Rana' "  queryout "Jarrod Rana.dat" -T -c  

Е.F. Копирование данных из запроса в файл данныхCopying data from a query to a data file

Результирующий набор инструкции Transact-SQLTransact-SQL копируется в файл данных с помощью параметра queryout .To copy the result set from a Transact-SQLTransact-SQL statement to a data file, use the queryout option. Следующий пример копирует имена из таблицы AdventureWorks2012.Person.Person , упорядоченные по фамилии и далее по имени, в файл данных Contacts.txt .The following example copies the names from the AdventureWorks2012.Person.Person table, ordered by last name then first name, into the Contacts.txt data file. В этом примере предполагается, что используется проверка подлинности Windows и существует доверительное подключение к экземпляру сервера, на котором запускается команда bcp .The example assumes that you are using Windows Authentication and have a trusted connection to the server instance on which you are running the bcp command.

В командной строке Windows введите:At the Windows command prompt, enter:

bcp "SELECT FirstName, LastName FROM AdventureWorks2012.Person.Person ORDER BY LastName, Firstname" queryout Contacts.txt -c -T  

Ж.G. Создание файла форматирования в формате, отличном от XMLCreating a non-XML format file

В следующем примере создается файл форматирования Currency.fmt в формате, отличном от XML, для таблицы Sales.Currency в базе данных AdventureWorks2012AdventureWorks2012.The following example creates a non-XML format file, Currency.fmt, for the Sales.Currency table in the AdventureWorks2012AdventureWorks2012 database. В этом примере предполагается, что используется проверка подлинности Windows и существует доверительное подключение к экземпляру сервера, на котором запускается команда bcp .The example assumes that you are using Windows Authentication and have a trusted connection to the server instance on which you are running the bcp command.

В командной строке Windows введите:At the Windows command prompt, enter:

bcp AdventureWorks2012.Sales.Currency format nul -T -c  -f Currency.fmt  

Дополнительные сведения см в разделе Файлы формата, отличные от XML (SQL Server).For more information, see Non-XML Format Files (SQL Server).

З.H. Создание XML-файла форматированияCreating an XML format file

Следующий пример создает XML-файл форматирования с именем Currency.xml для таблицы Sales.Currency в базе данных AdventureWorks2012AdventureWorks2012 .The following example creates an XML format file named Currency.xml for the Sales.Currency table in the AdventureWorks2012AdventureWorks2012 database. В этом примере предполагается, что используется проверка подлинности Windows и существует доверительное подключение к экземпляру сервера, на котором запускается команда bcp .The example assumes that you are using Windows Authentication and have a trusted connection to the server instance on which you are running the bcp command.

В командной строке Windows введите:At the Windows command prompt, enter:

bcp AdventureWorks2012.Sales.Currency format nul -T -c -x -f Currency.xml  

Примечание

Для использования параметра -x необходима версия клиента bcp 9.0.To use the -x switch, you must be using a bcp 9.0 client. Дополнительные сведения об использовании клиента bcp 9.0 см. в разделе "Примечания".For information about how to use the bcp 9.0 client, see "Remarks."

Дополнительные сведения см в разделе XML-файлы форматирования (SQL Server).For more information, see XML Format Files (SQL Server).

И.I. Использование файла форматирования для массового импорта данных c помощью программы bcpUsing a format file to bulk import with bcp

Чтобы использовать ранее созданный файл форматирования при выполнении импорта данных в экземпляр SQL ServerSQL Server, укажите параметр -f и параметр in .To use a previously created format file when importing data into an instance of SQL ServerSQL Server, use the -f switch with the in option. Например, следующая команда выполняет массовое копирование содержимого файла данных Currency.dat в копию таблицы Sales.Currency (Sales.Currency2) с помощью ранее созданного файла форматирования (Currency.xml).For example, the following command bulk copies the contents of a data file, Currency.dat, into a copy of the Sales.Currency table (Sales.Currency2) by using the previously created format file (Currency.xml). В этом примере предполагается, что используется проверка подлинности Windows и существует доверительное подключение к экземпляру сервера, на котором запускается команда bcp .The example assumes that you are using Windows Authentication and have a trusted connection to the server instance on which you are running the bcp command.

В командной строке Windows введите:At the Windows command prompt, enter:

bcp AdventureWorks2012.Sales.Currency2 in Currency.dat -T -f Currency.xml  

Примечание

Файлы форматирования используются в тех случаях, когда поля файла данных отличаются от столбцов таблицы, например: по количеству, порядку или типу данных.Format files are useful when the data file fields are different from the table columns; for example, in their number, ordering, or data types. Дополнительные сведения см в разделе Файлы форматирования для импорта или экспорта данных (SQL Server).For more information, see Format Files for Importing or Exporting Data (SQL Server).

Дополнительные примерыAdditional Examples

Следующие разделы содержат примеры использования программы bcp:The following topics contain examples of using bcp:

См. такжеSee Also

Подготовка данных к массовому экспорту или импорту (SQL Server) Prepare Data for Bulk Export or Import (SQL Server)
BULK INSERT (Transact-SQL) BULK INSERT (Transact-SQL)
OPENROWSET (Transact-SQL) OPENROWSET (Transact-SQL)
SET QUOTED_IDENTIFIER (Transact-SQL) SET QUOTED_IDENTIFIER (Transact-SQL)
sp_configure (Transact-SQL) sp_configure (Transact-SQL)
sp_tableoption (Transact-SQL) sp_tableoption (Transact-SQL)
Файлы форматирования для импорта или экспорта данных (SQL Server)Format Files for Importing or Exporting Data (SQL Server)