2014-03-12 4 views
0

ssis 데이터 흐름에는 1,800 만 레코드가있는 테이블을 조회하는 조회 구성 요소가 있습니다. 전체 캐시를 사용하여 조회를 구성했습니다. 이러한 많은 레코드 내가 어떤 캐시 조회를 사용하는 경우 성능 차이 일 것입니다 무슨 SSIS 조회 실패

Error: The buffer manager cannot write 8 bytes to file "C:\Users\usrname\AppData\Local\Temp\16\DTS{B98CD347-1EF1-4BC1-9DD9-C1B3AB2B8D73}.tmp". There was insufficient disk space or quota. 

를 캐시에 적합 조회 구성 려구요 같이

Default buffer size :20485760 
Default Buffer Max rows: 100000 
The lookup join is based on an ID column of varchar(13)type 

그것은 오류를 준다? 전체 캐시 모드에서 데이터가 사전 실행 단계 전에 캐시되고 데이터베이스로 돌아갈 필요가 없다는 것을 이해했습니다.이 전체 캐시 메모리는 많은 양의 메모리를 필요로하며 데이터 흐름에 대한 추가 시작 시간을 추가합니다. 나는 전체 캐시 모드에서 대량의 데이터를 처리하기 위해 설치해야합니까 어떤 구성

뭐죠 솔루션

답변

0

사용 룩업 테이블 만 개 레코드가 (그리고 그들은 전체 캐시에 적합하지 말아) 경우 대신 병합 조인 구성 요소. 조인 키에서 두 입력을 모두 정렬하고 사양에 따라 내부/왼쪽/전체 조인을 지정합니다. lookup 구성 요소와 같은 기능을 사용하려면 여러 출력을 사용하십시오.

병합 조인은 일반적으로 더 큰 데이터 집합에서 더 잘 수행됩니다. 당신은 Blobtempstoragepath 및 buffertempstoragepath로 fastdrives의 일부 SSIS에서 Buffertempstoragepath 속성을 설정할 수 있습니다

+0

하지만 .. rt 성능이 떨어질까요? 정렬은 비싼 작업입니다.이 경우에도 2 개의 정렬 구성 요소를 사용해야합니다! – user1254579

+1

소스 시스템에서의 정렬은 ssis의 검색 및 정렬 구성 요소를 사용하는 것보다 훨씬 빠릅니다. 소스를 정렬하고 (SQL 문, ORDER BY 사용) 고급 편집기를 사용하여 출력이 정렬되도록 지정하고 정렬 키를 지정하십시오. 병합 조인은이 메타 데이터를 선택하고 자동으로 가입하기 위해 키를 적용합니다. – cairnz

+1

자세한 내용은 여기를 참조하십시오 : http://www.ssistalk.com/2009/09/17/ssis-avoiding-the-sort-components/ (덧글을 편집하기에는 너무 늦었습니다) – cairnz

0

온도TMP 시스템 변수를 사용하는 것입니다. tmp 변수가 큰 데이터 집합을 보유 할 수 없으면 조회 변환을 사용합니다. 따라서 largedataset은 드라이브 공간을 사용하고 작업을 수행합니다.

+0

나는이 질문에 대답하지 않는다고 생각합니다. . – thomasb