서식 파일 만들기Create a Format File (SQL Server)

SQL ServerSQL Server 테이블로 대량 가져오기를 수행하거나 테이블에서 데이터를 대량 내보내기를 수행할 때는 서식 파일을 사용하여 다른 데이터 형식과 맞추기 위한 편집 작업이 거의 필요 없는 데이터 파일을 작성하거나 다른 소프트웨어 프로그램에서 데이터 파일을 읽는 작업을 유연하게 수행할 수 있습니다.When you bulk import into a SQL ServerSQL Server table or bulk export data from a table, you can use a format file to a flexible system for writing data files that requires little or no editing to comply with other data formats or to read data files from other software programs.

SQL ServerSQL Server 은(는) 두 유형의 서식 파일, 즉 비 XML 서식 파일과 XML 서식 파일을 지원합니다. support two types of format file: non-XML format and XML format. 비 XML 서식 파일은 이전 버전의 SQL ServerSQL Server에서 원래 지원했던 서식 파일입니다.The non-XML format is the original format that is supported by earlier versions of SQL ServerSQL Server.

일반적으로 XML 서식 파일과 비 XML 서식 파일은 서로 전환이 가능하지만Generally, XML and non-XML format files are interchangeable. 새 서식 파일에는 비 XML 서식 파일에 비해 여러 가지 장점이 있는 XML 구문을 사용하는 것이 좋습니다.However, we recommend that you use the XML syntax for new format files because they provide several advantages over non-XML format files.

참고

서식 파일을 읽는 데 사용되는 bcp 유틸리티(Bcp.exe)의 버전은 서식 파일을 만드는 데 사용되는 버전 이상이어야 합니다.The version of the bcp utility (Bcp.exe) used to read a format file must be the same as, or later than the version used to create the format file. 예를 들어 SQL Server 2012SQL Server 2012bcpSQL Server 2008SQL Server 2008bcp에서 생성된 버전 10.0 서식 파일을 읽을 수 있지만 SQL Server 2008SQL Server 2008bcpSQL Server 2012SQL Server 2012bcp에서 생성된 버전 11.0 서식 파일을 읽을 수 없습니다.For example, SQL Server 2012SQL Server 2012bcp can read a version 10.0 format file, which is generated by SQL Server 2008SQL Server 2008bcp, but SQL Server 2008SQL Server 2008bcp cannot read a version 11.0 format file, which is generated by SQL Server 2012SQL Server 2012bcp.

이 항목에서는 bcp 유틸리티 를 사용하여 특정 테이블에 대한 서식 파일을 만드는 방법에 대해 설명합니다.This topic describes how to use the bcp utility to create a format file for a particular table. 서식 파일은 지정된 데이터 형식 옵션(-n, -c, -w또는 -N)과 테이블 또는 뷰 구분 기호를 기반으로 합니다.The format file is based on the data-type option specified (-n, -c, -w,or -N) and the table or view delimiters.

비 XML 서식 파일 만들기Creating a Non-XML Format File

bcp 명령을 사용하여 서식 파일을 만들려면 데이터 파일 경로 대신 format 인수를 지정하고 NUL 을 사용합니다.To use a bcp command to create a format file, specify the format argument and use nul instead of a data-file path. format 옵션에는 다음과 같이 -f 옵션도 필요합니다.The format option also requires the -f option, such as:

bcp table_or_view format NUL -fformat_file_namebcp table_or_view format nul -fformat_file_name

참고

비 XML 서식 파일을 구분하기 위해 파일 이름 확장명으로 .fmt를 사용하는 것이 좋습니다(예: MyTable.fmt).To distinguish a non-XML format file, we recommend that you use .fmt as the file name extension, for example, MyTable.fmt.

비 XML 서식 파일의 구조 및 필드에 대한 자세한 내용은 비 XML 서식 파일(SQL Server)에서 원래 지원했던 서식 파일입니다.For information about the structure and fields of non-XML format files, see Non-XML Format Files (SQL Server).

Examples

이 섹션에는 bcp 명령을 사용하여 비 XML 서식 파일을 만드는 방법을 보여 주는 다음 예가 포함되어 있습니다.This section contains the following examples that show how to use bcp commands to create a non-XML format file:

  • 1.A. 네이티브 데이터용 비 XML 서식 파일 만들기Creating a non-XML format file for native data

  • 2.B. 문자 데이터용 비 XML 서식 파일 만들기Creating a non-XML format file for character data

  • 3.C. 유니코드 네이티브 데이터용 비 XML 서식 파일 만들기Creating a non-XML format file for Unicode native data

  • 4.D. 유니코드 문자 데이터용 비 XML 서식 파일 만들기Creating a non-XML format file for Unicode character data

  • 6.F. 코드 페이지 옵션이 있는 형식 파일 사용Using a format file with the code page option

    다음 예에서는 HumanResources.Department 예제 데이터베이스의 AdventureWorks2012AdventureWorks2012 테이블을 사용합니다.The examples use the HumanResources.Department table in the AdventureWorks2012AdventureWorks2012 sample database. HumanResources.Department 테이블에는 네 개의 열, 즉 DepartmentID, Name, GroupNameModifiedDate가 있습니다.The HumanResources.Department table contains four columns: DepartmentID, Name, GroupName, and ModifiedDate.

1.A. 네이티브 데이터용 비 XML 서식 파일 만들기Creating a non-XML format file for native data

다음 예에서는 Department-n.xml테이블에 대한 AdventureWorks2012AdventureWorks2012HumanResources.Department XML 서식 파일을 만듭니다.The following example creates an XML format file, Department-n.xml, for the AdventureWorks2012AdventureWorks2012HumanResources.Department table. 서식 파일은 네이티브 데이터 형식을 사용합니다.The format file uses native data types. 생성된 서식 파일의 내용은 명령 뒤에 표시됩니다.The contents of the generated format file are presented after the command.

bcp 명령에는 다음 한정자가 포함됩니다.The bcp command contains the following qualifiers.

한정자Qualifiers 설명Description
formatnul-f format_fileformatnul-f format_file 비 XML 서식 파일을 지정합니다.Specifies the non-XML format file.
-n 네이티브 데이터 형식을 지정합니다.Specifies native data types.
-T-T bcp 유틸리티가 통합 보안을 사용하는 트러스트된 연결을 통해 SQL ServerSQL Server 로 연결되도록 지정합니다.Specifies that the bcp utility connects to SQL ServerSQL Server with a trusted connection using integrated security. -T 를 지정하지 않은 경우 성공적으로 로그인하려면 -U-P 를 지정해야 합니다.If -T is not specified, you must specify -U and -P to successfully log in.

Windows 명령 프롬프트에 다음 bcp 명령을 입력합니다.At the Windows command prompt, enter the following bcp command:

bcp AdventureWorks2012.HumanResources.Department format nul -T -n -f Department-n.fmt  

생성된 Department-n.fmt서식 파일에는 다음 정보가 포함됩니다.The generated format file, Department-n.fmt, contains the following information:

12.0  
4  
1  SQLSMALLINT   0       2       ""   1     DepartmentID         ""  
2  SQLNCHAR      2       100     ""   2     Name                 SQL_Latin1_General_CP1_CI_AS  
3  SQLNCHAR      2       100     ""   3     GroupName            SQL_Latin1_General_CP1_CI_AS  
4  SQLDATETIME   0       8       ""   4     ModifiedDate         ""  

자세한 내용은 비 XML 서식 파일(SQL Server)에서 원래 지원했던 서식 파일입니다.For more information, see Non-XML Format Files (SQL Server).

2.B. 문자 데이터용 비 XML 서식 파일 만들기Creating a non-XML format file for character data

다음 예에서는 Department.fmt테이블에 대한 AdventureWorks2012AdventureWorks2012HumanResources.Department XML 서식 파일을 만듭니다.The following example creates an XML format file, Department.fmt, for the AdventureWorks2012AdventureWorks2012HumanResources.Department table. 서식 파일은 문자 데이터 형식 및 기본이 아닌 필드 종결자(,)를 사용합니다.The format file uses character data formats and a non-default field terminator (,). 생성된 서식 파일의 내용은 명령 뒤에 표시됩니다.The contents of the generated format file are presented after the command.

bcp 명령에는 다음 한정자가 포함됩니다.The bcp command contains the following qualifiers.

한정자Qualifiers 설명Description
formatnul-f format_fileformatnul-f format_file 비 XML 서식 파일을 지정합니다.Specifies a non-XML format file.
-c-c 문자 데이터를 지정합니다.Specifies character data.
-T-T bcp 유틸리티가 통합 보안을 사용하는 트러스트된 연결을 통해 SQL ServerSQL Server 로 연결되도록 지정합니다.Specifies that the bcp utility connects to SQL ServerSQL Server with a trusted connection using integrated security. -T 를 지정하지 않은 경우 성공적으로 로그인하려면 -U-P 를 지정해야 합니다.If -T is not specified, you must specify -U and -P to successfully log in.

Windows 명령 프롬프트에 다음 bcp 명령을 입력합니다.At the Windows command prompt, enter the following bcp command:

bcp AdventureWorks2012.HumanResources.Department format nul -c -f Department-c.fmt -T  

생성된 Department-c.fmt서식 파일에는 다음 정보가 포함됩니다.The generated format file, Department-c.fmt, contains the following information:

12.0  
4  
1  SQLCHAR       0       7       "\t"     1     DepartmentID            ""  
2  SQLCHAR       0       100     "\t"     2     Name                    SQL_Latin1_General_CP1_CI_AS  
3  SQLCHAR       0       100     "\t"     3     GroupName               SQL_Latin1_General_CP1_CI_AS  
4  SQLCHAR       0       24      "\r\n"   4     ModifiedDate            ""  

자세한 내용은 비 XML 서식 파일(SQL Server)에서 원래 지원했던 서식 파일입니다.For more information, see Non-XML Format Files (SQL Server).

3.C. 유니코드 네이티브 데이터용 비 XML 서식 파일 만들기Creating a non-XML format file for Unicode native data

HumanResources.Department 테이블을 위한 유니코드 네이티브 데이터용 비 XML 서식 파일을 만들려면 다음 명령을 사용합니다.To create a non-XML format file for Unicode native data for the HumanResources.Department table, use the following command:

bcp AdventureWorks2012.HumanResources.Department format nul -T -N -f Department-n.fmt  

유니코드 네이티브 데이터를 사용하는 방법에 대한 자세한 내용은 데이터를 가져오거나 내보내기 위해 유니코드 네이티브 형식 사용(SQL Server)을 참조하세요.For more information about how to use Unicode native data, see Use Unicode Native Format to Import or Export Data (SQL Server).

4.D. 유니코드 문자 데이터용 비 XML 서식 파일 만들기Creating a non-XML format file For Unicode character data

기본 종결자를 사용하는 HumanResources.Department 테이블을 위한 유니코드 문자 데이터용 비 XML 서식 파일을 만들려면 다음 명령을 사용합니다.To create a non-XML format file for Unicode character data for the HumanResources.Department table that uses default terminators, use the following command:

bcp AdventureWorks2012.HumanResources.Department format nul -T -w -f Department-w.fmt  

유니코드 문자 데이터를 사용하는 방법에 대한 자세한 내용은 유니코드 문자 형식을 사용하여 데이터 가져오기 및 내보내기(SQL Server)를 참조하세요.For more information about how to use Unicode character data, see Use Unicode Character Format to Import or Export Data (SQL Server).

6.F. 코드 페이지 옵션이 있는 형식 파일 사용Using a format file with the code page option

bcp 명령을 사용하여 서식 파일을 만드는 경우(즉,If you create a format file using the bcp command (i.e. bcp format …” 사용using “bcp format …” ) 데이터 정렬/코드 페이지에 대한 정보가 서식 파일에 기록됩니다.) information about the collation/code page will be written in the format file.
다음 예제에서는 열이 5개 있는 서식 파일에 데이터 정렬이 포함됩니다.The following example format file for a table with 5 columns includes the collation.

13.0  
5  
1  SQLCHAR         0       0       "**\t**"         1     c_0          Cyrillic_General_CS_AS  
2  SQLCHAR         0       0       "**\t**"         2     c_1          Cyrillic_General_CS_AS  
3  SQLCHAR         0       3000    "**\t**"         3     c_2          Cyrillic_General_CS_AS  
4  SQLCHAR         0       5       "**\t**"         4     c_3          ""  
5  SQLCHAR         0       41      "!!!\r\r\n"      5     c_4          ""  

SQL ServerSQL Server 에 데이터를 가져오려면( bcp in –c –C65001 –f format_file …”If you try to import data into SQL ServerSQL Server using bcp in –c –C65001 –f format_file …” 또는 “BULK INSERT/OPENROWSET ...or “BULK INSERT/OPENROWSET FORMATFILE='format_file' CODEPAGE=65001 ...”을 사용하여) 데이터 정렬/코드 페이지에 대한 정보는 65001보다 높은 우선 순위를 갖습니다.FORMATFILE='format_file' CODEPAGE=65001 …”, information about the collation/code page will have priority over 65001 option.
따라서 서식 파일을 생성하는 경우 생성된 서식 파일에서 데이터 정렬 정보를 수동으로 삭제한 후 데이터 가져오기를 SQL ServerSQL Server(으)로 다시 가져와야 합니다.Therefore, if you generate a format file, you must manually delete the collation info from the generated format file before you start importing data back into SQL ServerSQL Server.
다음은 데이터 정렬 정보가 없는 서식 파일의 예입니다.The following is an example of the format file without the collation info.

13.0  
5  
1  SQLCHAR         0       0       "**\t**"         1     c_0              ""  
2  SQLCHAR         0       0       "**\t**"         2     c_1              ""  
3  SQLCHAR         0       3000    "**\t**"         3     c_2              ""  
4  SQLCHAR         0       5       "**\t**"         4     c_3              ""  
5  SQLCHAR         0       41      "!!!\r\r\n"      5     c_4              ""  

XML 서식 파일 만들기Creating an XML Format File

bcp 명령을 사용하여 서식 파일을 만들려면 데이터 파일 경로 대신 format 인수를 지정하고 NUL 을 사용합니다.To use a bcp command to create a format file, specify the format argument and use nul instead of a data-file path. 다음과 같이 format 옵션에는 항상 -f 옵션이 필요하며 XML 서식 파일을 만드는 경우 -x 옵션도 지정해야 합니다.The format option always requires the -f option, and to create an XML format file, you must also specify the -x option, such as:

bcp table_or_view format nul-f format_file_name -xbcp table_or_view format nul-f format_file_name -x

참고

XML 서식 파일을 구분하기 위해 파일 이름 확장명으로 .xml을 사용하는 것이 좋습니다(예: MyTable.xml).To distinguish an XML format file, we recommend that you use .xml as the file name extension, for example, MyTable.xml.

XML 서식 파일의 구조 및 필드에 대한 자세한 내용은 XML 서식 파일(SQL Server)에서 원래 지원했던 서식 파일입니다.For information about the structure and fields of XML format files, see XML Format Files (SQL Server).

Examples

이 섹션에는 bcp 명령을 사용하여 XML 서식 파일을 만드는 방법을 보여 주는 다음 예가 포함되어 있습니다.This section contains the following examples that show how to use bcp commands to create an XML format file:

  • 1.A. 문자 데이터용 XML 서식 파일 만들기Creating an XML format file for character data

  • 2.B. 네이티브 데이터용 XML 서식 파일 만들기Creating an XML format file for native data

    다음 예에서는 HumanResources.Department 예제 데이터베이스의 AdventureWorks2012AdventureWorks2012 테이블을 사용합니다.The examples use the HumanResources.Department table in the AdventureWorks2012AdventureWorks2012 sample database. HumanResources.Department 테이블에는 네 개의 열, 즉 DepartmentID, Name, GroupNameModifiedDate가 있습니다.The HumanResources.Department table contains four columns: DepartmentID, Name, GroupName, and ModifiedDate.

참고

Adventure Works Cycles는 데이터베이스 개념 및 시나리오를 설명하는 데 사용되는 가상 제조 회사입니다.Adventure Works Cycles is a fictional manufacturing company used to demonstrate database concepts and scenarios.

1.A. 문자 데이터용 XML 서식 파일 만들기Creating an XML format file for character data

다음 예에서는 Department.xml테이블에 대한 AdventureWorks2012AdventureWorks2012HumanResources.Department XML 서식 파일을 만듭니다.The following example creates an XML format file, Department.xml, for the AdventureWorks2012AdventureWorks2012HumanResources.Department table. 서식 파일은 문자 데이터 형식 및 기본이 아닌 필드 종결자(,)를 사용합니다.The format file uses character data formats and a non-default field terminator (,). 생성된 서식 파일의 내용은 명령 뒤에 표시됩니다.The contents of the generated format file are presented after the command.

bcp 명령에는 다음 한정자가 포함됩니다.The bcp command contains the following qualifiers.

한정자Qualifiers 설명Description
formatnul-f format_file -xformatnul-f format_file -x XML 서식 파일을 지정합니다.Specifies the XML format file.
-c-c 문자 데이터를 지정합니다.Specifies character data.
-t ,-t , 쉼표(,)를 필드 종결자로 지정합니다.Specifies a comma (,) as the field terminator.

참고: 데이터 파일이 기본 필드 종결자(\t)를 사용하면 -t 스위치는 불필요합니다.Note: If the data file uses the default field terminator (\t), the -t switch is unnecessary.
-T-T bcp 유틸리티가 통합 보안을 사용하는 트러스트된 연결을 통해 SQL ServerSQL Server 로 연결되도록 지정합니다.Specifies that the bcp utility connects to SQL ServerSQL Server with a trusted connection using integrated security. -T 를 지정하지 않은 경우 성공적으로 로그인하려면 -U-P 를 지정해야 합니다.If -T is not specified, you must specify -U and -P to successfully log in.

Windows 명령 프롬프트에 다음 bcp 명령을 입력합니다.At the Windows command prompt, enter the following bcp command:

bcp AdventureWorks2012.HumanResources.Department format nul -c -x -f Department-c..xml –t, -T  

생성된 Department-c.xml서식 파일에는 다음 XML 요소가 포함됩니다.The generated format file, Department-c.xml, contains the following XML elements:

<?xml version="1.0"?>  
<BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  
 <RECORD>  
  <FIELD ID="1" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="7"/>  
  <FIELD ID="2" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>  
  <FIELD ID="3" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>  
  <FIELD ID="4" xsi:type="CharTerm" TERMINATOR="\r\n" MAX_LENGTH="24"/>  
 </RECORD>  
 <ROW>  
  <COLUMN SOURCE="1" NAME="DepartmentID" xsi:type="SQLSMALLINT"/>  
  <COLUMN SOURCE="2" NAME="Name" xsi:type="SQLNVARCHAR"/>  
  <COLUMN SOURCE="3" NAME="GroupName" xsi:type="SQLNVARCHAR"/>  
  <COLUMN SOURCE="4" NAME="ModifiedDate" xsi:type="SQLDATETIME"/>  
 </ROW>  
</BCPFORMAT>  

이 서식 파일의 구문에 대한 자세한 내용은 XML 서식 파일(SQL Server)을 참조하세요.For information about the syntax of this format file, see XML Format Files (SQL Server). 문자 데이터에 대한 자세한 내용은 문자 형식을 사용하여 데이터 가져오기 및 내보내기(SQL Server)를 참조하세요.For information about character data, see Use Character Format to Import or Export Data (SQL Server).

2.B. 네이티브 데이터용 XML 서식 파일 만들기Creating an XML format file for native data

다음 예에서는 Department-n.xml테이블에 대한 HumanResources.Department XML 서식 파일을 만듭니다.The following example creates an XML format file, Department-n.xml, for the HumanResources.Department table. 서식 파일은 네이티브 데이터 형식을 사용합니다.The format file uses native data types. 생성된 서식 파일의 내용은 명령 뒤에 표시됩니다.The contents of the generated format file are presented after the command.

bcp 명령에는 다음 한정자가 포함됩니다.The bcp command contains the following qualifiers.

한정자Qualifiers 설명Description
formatnul-f format_file -xformatnul-f format_file -x XML 서식 파일을 지정합니다.Specifies the XML format file.
-n 네이티브 데이터 형식을 지정합니다.Specifies native data types.
-T-T bcp 유틸리티가 통합 보안을 사용하는 트러스트된 연결을 통해 SQL ServerSQL Server 로 연결되도록 지정합니다.Specifies that the bcp utility connects to SQL ServerSQL Server with a trusted connection using integrated security. -T 를 지정하지 않은 경우 성공적으로 로그인하려면 -U-P 를 지정해야 합니다.If -T is not specified, you must specify -U and -P to successfully log in.

Windows 명령 프롬프트에 다음 bcp 명령을 입력합니다.At the Windows command prompt, enter the following bcp command:

bcp AdventureWorks2012.HumanResources.Department format nul -x -f Department-n..xml -n -T  

생성된 Department-n.xml서식 파일에는 다음 XML 요소가 포함됩니다.The generated format file, Department-n.xml, contains the following XML elements:

<?xml version="1.0"?>  
<BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  
 <RECORD>  
  <FIELD ID="1" xsi:type="NativeFixed" LENGTH="2"/>  
  <FIELD ID="2" xsi:type="NCharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>  
  <FIELD ID="3" xsi:type="NCharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>  
  <FIELD ID="4" xsi:type="NativeFixed" LENGTH="8"/>  
 </RECORD>  
 <ROW>  
  <COLUMN SOURCE="1" NAME="DepartmentID" xsi:type="SQLSMALLINT"/>  
  <COLUMN SOURCE="2" NAME="Name" xsi:type="SQLNVARCHAR"/>  
  <COLUMN SOURCE="3" NAME="GroupName" xsi:type="SQLNVARCHAR"/>  
  <COLUMN SOURCE="4" NAME="ModifiedDate" xsi:type="SQLDATETIME"/>  
 </ROW>  
</BCPFORMAT>  

이 서식 파일의 구문에 대한 자세한 내용은 XML 서식 파일(SQL Server)을 참조하세요.For information about the syntax of this format file, see XML Format Files (SQL Server). 네이티브 데이터를 사용하는 방법에 대한 자세한 내용은 네이티브 형식을 사용하여 데이터 가져오기 및 내보내기(SQL Server)을 참조하세요.For information about how to use native data, see Use Native Format to Import or Export Data (SQL Server).

테이블 열에 데이터 필드 매핑Mapping Data Fields to Table Columns

bcp에서 만든 서식 파일은 모든 테이블 열에 대한 설명을 순서대로 제공합니다.As created by bcp, a format file describes all the table columns in order. 서식 파일을 수정하여 테이블 행을 다시 정렬하거나 생략할 수 있습니다.You can modify a format file to rearrange or omit table rows. 이렇게 하면 테이블 열에 직접 매핑하지 않는 필드가 있는 데이터 파일에 대해 서식 파일을 사용자 지정할 수 있습니다.This lets you customize a format file to a data file whose fields do not map directly to the table columns. 자세한 내용은 다음 항목을 참조하세요.For more information, see the following topics:

참고 항목See Also

bcp Utility bcp Utility
서식 파일을 사용하여 테이블 열을 데이터 파일 필드에 매핑(SQL Server) Use a Format File to Map Table Columns to Data-File Fields (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)
비 XML 서식 파일(SQL Server) Non-XML Format Files (SQL Server)
XML 서식 파일(SQL Server)XML Format Files (SQL Server)