데이터 대량 가져오기 준비(SQL Server)

적용 대상:SQL Server

bcp 명령, BULK INSERT 문 또는 OPENROWSET(BULK) 함수를 사용하여 데이터 파일의 데이터만 대량으로 가져올 수 있습니다.

참고 항목

텍스트 파일이 아닌 개체의 데이터를 대량으로 가져오는 사용자 지정 애플리케이션을 작성할 수 있습니다. 메모리 버퍼에서 데이터를 대량으로 가져오려면 SQL Server Native Client(ODBC) API(애플리케이션 프로그래밍 인터페이스) 또는 OLE DB IRowsetFastLoad 인터페이스에 bcp 확장을 사용합니다. C# 데이터 테이블에서 데이터를 대량으로 가져오려면 ADO.NET 대량 복사 API인 SqlBulkCopy를 사용합니다.

참고 항목

원격 테이블로 데이터를 대량으로 가져오는 것은 지원되지 않습니다.

데이터 파일에서 Microsoft SQL Server 인스턴스로 데이터를 대량 가져오는 경우 다음 지침을 따르세요.

  • 사용자 계정에 필요한 권한을 확보합니다.

    bcp 유틸리티, BULK INSERT 문 또는 INSERT ... SELECT * FROM OPENROWSET(BULK...) 문을 사용하는 사용자 계정에는 테이블 소유자가 할당한 테이블에 대한 필수 권한이 있어야 합니다. 각 방법에 필요한 권한에 대한 자세한 내용은 bcp 유틸리티, OPENROWSET(Transact-SQL)BULK INSERT(Transact-SQL)를 참조하세요.

  • 대량 로그된 복구 모델을 사용합니다.

    이 지침은 전체 복구 모델을 사용하는 데이터베이스에 대한 것입니다. 대량 로그된 복구 모델은 인덱싱되지 않은 테이블( )로 대량 작업을 수행할 때 유용합니다. 대량 로그 복구는 로그 행 삽입을 수행하지 않으므로 대량 로그 복구를 사용하면 트랜잭션 로그의 공간 부족 문제를 방지할 수 있습니다. 대량 로그된 복구 모델에 대한 자세한 내용은 복구 모델(SQL Server)을 참조하세요.

    대량 가져오기 작업 직전에 대량 로그된 복구 모델을 사용하도록 데이터베이스를 변경하는 것이 좋습니다. 그 직후 데이터베이스를 전체 복구 모델로 다시 설정해야 합니다. 자세한 내용은 데이터베이스 복구 모델 보기 또는 변경(SQL Server)을 참조하세요.

    참고 항목

    대량 가져오기 작업 중에 로깅을 최소화하는 방법에 대한 자세한 내용은 대량 가져오기에서 최소 로깅을 위한 필수 조건을 참조하세요.

  • 데이터를 대량으로 가져온 후 백업합니다.

    단순 복구 모델을 사용하는 데이터베이스의 경우 대량 가져오기 작업이 완료된 후 전체 또는 차등 백업을 수행하는 것이 좋습니다. 자세한 내용은 전체 데이터베이스 백업 만들기(SQL Server) 또는 차등 데이터베이스 백업 만들기(SQL Server)를 참조하세요.

    대량 로그된 복구 모델 또는 전체 복구 모델의 경우 로그 백업으로 충분합니다. 자세한 내용은 트랜잭션 로그 백업(SQL Server)을 참조하세요.

  • 대규모의 대량 가져오기에서 성능 개선을 위해 테이블 인덱스를 삭제합니다.

    이 지침은 이미 테이블에 있는 데이터에 비해 많은 양의 데이터를 가져오는 경우에 대한 내용입니다. 이 경우 대량 가져오기 작업을 수행하기 전에 테이블에서 인덱스를 삭제하면 성능이 크게 향상됩니다.

    참고 항목

    테이블에 이미 있는 데이터의 양에 비해 적은 양의 데이터를 로드하는 경우 인덱스를 삭제하는 것은 비생산적입니다. 인덱스를 다시 작성하는 데 필요한 시간은 대량 가져오기 작업 중에 절약된 시간보다 길 수 있습니다.

  • 데이터 파일에서 숨겨진 문자를 찾아 제거합니다.

    많은 유틸리티 및 텍스트 편집기에서는 일반적으로 데이터 파일의 끝에 있는 숨겨진 문자를 표시합니다. 대량 가져오기 작업 중에 ASCII 데이터 파일에 숨겨진 문자로 인해 "예기치 않은 null 발견" 오류를 일으키는 문제가 발생할 수 있습니다. 숨겨진 문자를 모두 찾아 제거하면 이 문제를 방지하는 데 도움이 됩니다.

참고 항목

bcp 유틸리티를 사용하여 대량 데이터 가져오기 및 내보내기(SQL Server)
BULK INSERT 또는 OPENROWSET(BULK...)을 사용하여 데이터 대량 가져오기(SQL Server)
bcp 유틸리티
BULK INSERT(Transact-SQL)
대량 가져오기 또는 대량 내보내기를 위한 데이터 형식(SQL Server)
OPENROWSET(Transact-SQL)