BCP Restore Guide
BCP Restore Guide
BCP Restore Guide
Amendment History
Author /
Version Date Change Description
Changed By
1.0 27-Apr-2018 Rajesh Initial Draft
Comments:
Introduction
The bcp utility (Bcp.exe) is a command-line tool that uses the Bulk Copy Program (BCP) API. The bcp
utility performs the following tasks:
Bulk exports data from a SQL Server table into a data file.
Bulk imports data from a data file into a SQL Server table.
The bcp utility is accessed by the bcp command. To use the bcp command to bulk import data, you must
understand the schema of the table and the data types of its columns, unless you are using a pre-
existing format file.
The bcp utility can export data from a SQL Server table to a data file for use in other programs. The
utility can also import data into a SQL Server table from another program, usually another database
management system (DBMS). The data is first exported from the source program to a data file and then,
in a separate operation, copied from the data file into a SQL Server table.
The bcp command provides switches that you use to specify the data type of the data file and other
information. If these switches are not specified, the command prompts for formatting information, such
as the type of data fields in a data file. The command then asks whether you want to create a format file
that contains your interactive responses. If you want flexibility for future bulk-import or bulk-export
operations, a format file is often useful. You can specify the format file on later bcp commands for
equivalent data files. For more information, see Specify Data Formats for Compatibility when Using bcp
(SQL Server). [1]
Getting Started
1. Review the Files.
Review if you received the right files. To import data with BCP utility usually we need the files
below:
2. Review that your environment matches with the BCP import files.
It could happen that the files you received has wrong information about database names and
paths, so be carefully and identify this situation. This usually happen because in other servers
environments database’s names and paths differ.
If you have this issue, use the “Find and replace” utility of your preferred editor and replace the
fields described above with the right server environment information. E.g. If my database name
is PRIVSER, the action we take is to change the misleading information:
Delete (if exists) and create the target database before use BCP import Utility. In this example,
we use PRIVDOC as database name with Latin1_General_100_BIN2 collation.
4. Create the login user.
Create the PRIVDOC user for the PRIVDOC database.
5. Review and correct the import BCP files.
As we said before, replace the information about database names, user credentials, and other
related misleading information, so they must match the target environment.
E.g.:
Troubleshooting
1. If the execution of one of the given files throw an error:
a. Sometimes some files are too long, so try to execute the same file in chunks.
References:
[1] https://docs.microsoft.com/en-us/sql/relational-databases/import-export/import-and-export-
bulk-data-by-using-the-bcp-utility-sql-server?view=sql-server-2017