다음을 통해 공유


대량 내보내기 또는 가져오기를 위한 데이터 준비

업데이트: 2007년 9월 15일

이 섹션에서는 대량 내보내기 작업을 계획하는 방법과 관련된 고려 사항 및 대량 가져오기 작업의 요구 사항에 대해 설명합니다.

[!참고] 대량 가져오기를 위해 데이터 파일의 형식을 지정하는 방법을 확실히 모를 경우 bcp 유틸리티를 사용하여 해당 테이블에서 데이터 파일로 데이터를 가져올 수 있습니다. 이 파일에 있는 각 데이터 필드의 서식은 데이터를 해당 테이블 열에 대량으로 가져오는 데 필요한 서식을 보여 줍니다. 데이터 파일의 필드에 대해 같은 데이터 서식을 사용합니다.

대량 내보내기의 데이터 파일 형식 고려 사항

bcp 명령을 사용하여 대량 내보내기 작업을 수행하기 전에 다음을 고려하십시오.

  • 데이터를 파일로 내보낼 때 bcp 명령은 지정된 파일 이름을 사용하여 자동으로 데이터 파일을 만듭니다. 해당 파일이 이미 사용되고 있으면 데이터 파일로 대량 복사되는 데이터가 파일의 기존 내용을 덮어씁니다.
  • 테이블 또는 뷰에서 데이터 파일로 대량 내보내기를 수행하려면 대량 복사할 테이블 또는 뷰에 대한 SELECT 권한이 있어야 합니다.
  • Microsoft SQL Server에서는 병렬 검색을 사용하여 데이터를 검색할 수 있습니다. 따라서 SQL Server 인스턴스에서 대량으로 내보내는 테이블 행은 대개 데이터 파일에 특정 순서로 정렬되지 않을 수도 있습니다. 대량으로 내보낸 테이블 행이 데이터 파일에 특정 순서로 표시되도록 하려면 쿼리에서 대량으로 내보내는 queryout 옵션을 사용하고 ORDER BY 절을 지정합니다. 자세한 내용은 쿼리의 데이터를 데이터 파일로 내보내기를 참조하십시오.

대량 가져오기의 데이터 파일 형식 요구 사항

데이터 파일에서 데이터를 가져오려면 해당 파일은 다음과 같은 기본 요구 사항을 충족해야 합니다.

  • 데이터는 행 및 열 형식이어야 합니다.

[!참고] 대량 가져오기 프로세스 동안 열을 건너뛰거나 다시 정렬할 수 있으므로 데이터 파일 구조는 SQL Server 테이블 구조와 동일할 필요가 없습니다.

  • 데이터 파일의 데이터는 문자 또는 네이티브 형식 같이 지원되는 형식이어야 합니다.

  • 데이터는 문자 또는 유니코드 같은 네이티브 이진 형식일 수 있습니다.

  • bcp 명령, BULK INSERT 문 또는 INSERT ... SELECT * FROM OPENROWSET(BULK...) 문을 사용하여 데이터를 가져오려면 대상 테이블이 이미 존재해야 합니다.

  • 데이터 파일의 각 필드는 대상 테이블의 해당 열과 호환 가능해야 합니다. 예를 들어 int 필드는 datetime 열로 로드할 수 없습니다. 자세한 내용은 네이티브, 문자 또는 유니코드 형식 사용bcp를 사용하여 데이터 형식을 호환 가능하도록 지정을 참조하십시오.

    [!참고] 전체 파일이 아니라 데이터 파일에서 가져올 행 하위 집합을 지정하기 위해 bcp 명령에 -Ffirst_row 스위치 및/또는 -Llast_row 스위치를 사용할 수 있습니다. 자세한 내용은 bcp 유틸리티를 참조하십시오.

  • 고정 길이 또는 고정 너비 필드가 있는 데이터 파일에서 데이터를 가져오려면 서식 파일을 사용해야 합니다. 자세한 내용은 XML 서식 파일 샘플을 참조하십시오.

  • SQL Server로 데이터를 대량으로 가져오는 경우 CSV(쉼표로 구분된 값) 파일을 데이터 파일로 사용할 수 있는 경우도 있습니다. CSV 파일의 필드 종결자가 쉼표일 필요는 없습니다. 대량 가져오기의 데이터 파일로 사용하려면 CSV 파일이 다음 제한을 따라야 합니다.

    • 데이터 필드에 필드 종결자가 포함되지 않아야 합니다.
    • 데이터 필드의 값은 모두 따옴표("")로 감싸거나 모두 감싸지 않아야 합니다.
      Microsoft FoxPro 또는 Visual FoxPro 테이블(.dbf) 파일이나 Microsoft Excel 워크시트(.xls) 파일의 데이터를 가져오려면 일반적으로 확장명이 .csv인 .CSV 파일로 데이터를 변환합니다. 그런 다음 SQL Server 대량 가져오기 작업에서 .csv 파일을 데이터 파일로 사용할 수 있습니다.

또한 데이터 파일의 데이터를 테이블로 대량으로 가져오려면 다음 요구 사항을 충족해야 합니다.

  • 사용자는 테이블에 대한 INSERT 및 SELECT 권한이 있어야 합니다. 사용자가 제약 조건 해제 같은 DDL(데이터 정의 언어) 작업을 필요로 하는 옵션을 사용할 경우 ALTER TABLE 권한도 있어야 합니다.
  • BULK INSERT 또는 INSERT ... SELECT * FROM OPENROWSET(BULK...)를 사용하여 데이터를 대량으로 가져올 경우 SQL Server 프로세스의 보안 프로필(사용자가 SQL Server 제공 로그인을 사용하여 로그인할 경우) 또는 위임된 보안에서 사용되는 Microsoft Windows 로그인으로 읽기 작업을 위해 데이터 파일에 액세스할 수 있어야 합니다. 또한 사용자는 파일을 읽을 ADMINISTER BULK OPERATIONS 권한이 있어야 합니다.

[!참고] 분할된 뷰로 대량 가져오기는 지원되지 않고 분할된 뷰로 데이터를 대량으로 가져오려는 시도는 실패합니다.

참고 항목

개념

데이터를 가져오거나 내보낼 때 문자 형식 사용
네이티브 형식을 사용하여 데이터 가져오기 및 내보내기
XML 서식 파일 이해

관련 자료

bcp 유틸리티
BULK INSERT(Transact-SQL)
데이터 형식(Transact-SQL)
ExportData Method
ImportData Method

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2007년 9월 15일

변경된 내용
  • 대량 가져오기를 위한 CSV 파일 준비에 관련된 설명을 보강했습니다.

2006년 7월 17일

새로운 내용
  • 소개에 참고를 추가했습니다.
  • 고정 길이 또는 고정 너비 필드를 가져오는 방법에 대한 요구 사항을 추가했습니다.

2006년 4월 14일

새로운 내용
  • SQL Server 외부에서 데이터를 가져올 때의 데이터 파일 형식에 대한 정보를 추가했습니다.