다음을 통해 공유


SqlBulkCopy.BatchSize 속성

정의

각 일괄 처리의 행 수입니다. 각 일괄 처리가 끝나면 일괄 처리의 행이 서버로 보내집니다.

public:
 property int BatchSize { int get(); void set(int value); };
public int BatchSize { get; set; }
member this.BatchSize : int with get, set
Public Property BatchSize As Integer

속성 값

BatchSize 속성의 정수 값, 또는 값이 설정되지 않은 경우 0입니다.

예제

다음 콘솔 애플리케이션에는 대량 50 개 행 일괄 처리로 데이터를 로드 하는 방법을 보여 줍니다. 트랜잭션의 작동 방식을 BatchSize 보여 주는 예제는 트랜잭션 및 대량 복사 작업을 참조하세요.

중요

이 샘플은 가져올 대량 복사 샘플 설정에 설명된 대로 작업 테이블을 만들지 않은 경우 실행되지 않습니다. 이 코드는 SqlBulkCopy를 사용하는 구문을 보여 주는 용도로 제공됩니다. 원본 테이블과 대상 테이블이 동일한 SQL Server 인스턴스에 있는 경우 Transact-SQL INSERT … SELECT 문을 사용하여 데이터를 복사하는 것이 더 쉽고 빠릅니다.

설명

일괄 처리는 BatchSize 행이 처리되었거나 대상 데이터 원본으로 보낼 행이 더 이상 없는 경우 완료됩니다.

0(기본값)은 각 WriteToServer 작업이 단일 일괄 처리임을 나타냅니다.

인스턴스가 SqlBulkCopy 옵션 없이 UseInternalTransaction 선언된 경우 행은 한 번에 서버 BatchSize 행으로 전송되지만 트랜잭션 관련 작업은 수행되지 않습니다. 가 적용되는 경우 UseInternalTransaction 행의 각 일괄 처리는 별도의 트랜잭션으로 삽입됩니다.

속성은 BatchSize 언제든지 설정할 수 있습니다. 대량 복사가 이미 진행 중인 경우 현재 일괄 처리의 크기는 이전 일괄 처리 크기에 따라 조정됩니다. 후속 일괄 처리는 새 크기를 사용합니다. BatchSize 작업이 이미 진행 중인 동안 WriteToServer 가 처음에 0이고 변경된 경우 해당 작업은 데이터를 단일 일괄 처리로 로드합니다. 동일한 SqlBulkCopy 인스턴스에 대한 모든 후속 WriteToServer 작업은 새 BatchSize를 사용합니다.

적용 대상