PRIMARY FILE GROUP을 포함하여 10 개의 파티션이있는 Sql Server 데이터베이스에 1,000,000 개의 레코드가 포함 된 2.5GB의 데이터를 내보내는 SSIS 패키지가 있습니다. "일괄 처리"및 "최대 삽입 커밋 크기"에 대해 SSIS 패키지와 관련이 있습니까?
기본 최대 삽입 크기 즉 "2147483647"및 .IT가 빠른로드 옵션을 완료 변환에 7 분을 복용했다 배치 당 행을 커밋 변경하기 전에.그러나 일부 공식을 사용하여 값을 변경 한 후 실행은 2 분 만에 완료되었습니다.
FYI- DefaultMaxBufferRows를 & DefaultMaxBufferSize에는 각각 두 scenorio 즉 만 10 MB 단위 디폴트 값이었다.
는 최대 삽입 calucation 아래 를 사용하는 배치에 따라 크기를 & 행을 커밋 계산합니다.
1) 전송되는 원본 레코드의 계산 된 길이. 이는 약 1038 바이트입니다.
CREATE TABLE [dbo].[Game_DATA2](
[ID] [int] IDENTITY(1,1) NOT NULL, -- AUTO CALCULATED
[Number] [varchar](255) NOT NULL, -- 255 bytes
[AccountTypeId] [int] NOT NULL, -- 4 bytes
[Amount] [float] NOT NULL,-- 4 bytes
[CashAccountNumber] [varchar](255) NULL, -- 255 bytes
[StartDate] [datetime] NULL,-- 8 bytes
[Status] [varchar](255) NOT NULL,-- 255 bytes
[ClientCardNumber] [varchar](255) NULL -- 255 bytes
)
2) 배치 당 행 = packate_size/레코드 당 바이트 = 32767/1038 = 32 약.
3) 최대 인서트 커밋 크기 = packate 크기 * 트랜잭션의 수 = 32767 * 100 = 3,276,700 (Packate 크기와 수 거래 변수)의 요구 사항에 따라 변경할 수있다
질문 :
배치 당 행의 관련성과 최대 삽입 커밋 크기가 있습니까? DFT (DATA FLOW TASK) 실행을 튜닝하기 위해 아카이브 article에 언급 된 정보가 없기 때문입니다.
이러한 구성은 DefaultBuffermaxzie 및
DefualtBuffermaxrows와 함께 작동합니까? 그렇다면 어떻게해야합니까?
실제 예상 행 수가 1,000 만 개 인 파일의 RPB 값은 무엇입니까? 위 공식을 사용할 수 있습니까? 아니면 ** 시도 및 오류 ** 기본 방법입니다. –
@HarsimranjeetSingh, RPB 기본값을 그대로두면 삽입 할 때 실제 행 번호로 설정되므로 OLE DB가 자동으로 수행합니다. 위에 설명 된 제한 사항을 설정할 수 있습니다. 귀하의 경우에 나는 먼저 MICS와 함께 놀 것입니다. – Ferdipux