조회 변환

업데이트: 2006년 12월 12일

조회 변환은 입력 열의 데이터를 참조 데이터 집합의 열과 조인하여 조회합니다. 참조 데이터 집합은 기존 테이블 또는 뷰이거나 SQL 문의 결과일 수 있습니다. 조회 변환은 OLE DB 연결 관리자를 사용하여 참조 데이터 집합의 원본 데이터가 포함된 데이터베이스에 연결합니다. 자세한 내용은 OLE DB 연결 관리자를 참조하십시오.

다음과 같은 방법으로 조회 변환을 구성할 수 있습니다.

  • 참조 데이터 집합이 포함된 테이블 또는 뷰를 지정합니다.
  • SQL 문을 지정하여 참조 테이블을 생성합니다.
  • 입력과 참조 데이터 집합 간의 조인을 지정합니다.
  • 참조 데이터 집합의 열을 변환 출력에 추가합니다.
  • SQL 문 캐싱을 사용하여 일부 또는 모든 참조 데이터 집합이 성능 향상을 위해 캐싱되도록 지정합니다.
  • 캐싱된 SQL 문의 매개 변수를 입력 열에 매핑합니다.
  • 32비트 및 64비트 환경에서 변환에 사용할 수 있는 메모리 크기(MB)를 지정합니다. 32비트 환경에는 3,072MB의 메모리 제한이 있지만 64비트 환경에는 이러한 제한이 없습니다.

조회 변환은 변환 입력 값과 참조 데이터 집합 값 간에 동등 조인을 수행합니다. 동등 조인을 사용하는 경우 변환 입력의 각 행이 참조 데이터 집합의 행과 하나 이상 일치해야 합니다. 참조 데이터 집합에 일치하는 항목이 없으면 조인이 발생하지 않으며 참조 데이터 집합에서 값이 반환되지 않습니다. 이것은 오류이며 오류를 무시하고 오류 행을 오류 출력으로 보내도록 구성되어 있지 않으면 변환이 실패합니다. 참조 테이블에 일치하는 항목이 여러 개 있을 경우 조회 쿼리를 기반으로 처음 일치하는 항목만 반환됩니다. 일치하는 항목이 여러 개 있을 경우에도 전체 사전 캐싱을 사용하도록 조회 변환을 구성하지 않은 한 오류나 경고가 생성되지 않습니다. 전체 사전 캐싱을 사용하는 경우에는 캐시가 채워질 때 여러 개의 일치 항목이 검색되면 경고가 생성됩니다.

복합 조인을 사용하면 변환 입력의 여러 열을 참조 데이터 집합의 열에 조인할 수 있습니다. 이 변환은 DT_R4, DT_R8, DT_TEXT, DT_NTEXT 또는 DT_IMAGE를 제외한 모든 데이터 형식의 조인 열을 지원합니다. 자세한 내용은 Integration Services 데이터 형식을 참조하십시오.

일반적으로 참조 데이터 집합의 값이 변환 출력에 추가됩니다. 예를 들어 조회 변환은 입력 열의 값을 사용하여 테이블에서 제품 이름을 추출한 다음 변환 출력에 제품 이름을 추가할 수 있습니다. 참조 테이블의 값은 열 값을 대체하거나 새 열에 추가될 수 있습니다.

조회 변환에서 수행하는 조회는 대/소문자를 구분합니다. 문자표 변환을 사용하여 데이터를 대문자 또는 소문자로 변환한 다음 참조 테이블을 생성하는 SQL 문에 UPPER 또는 LOWER 함수를 포함하여 데이터의 대/소문자 차이로 인한 조회 오류를 방지할 수 있습니다. 자세한 내용은 문자표 변환, UPPER(Transact-SQL)LOWER(Transact-SQL)를 참조하십시오.

캐싱을 사용하지 않고 대/소문자를 구분하지 않는 데이터베이스에서 읽어 조회 오류를 방지할 수도 있습니다.

이 변환에는 하나의 입력, 하나의 일반 출력 및 하나의 오류 출력이 있습니다.

캐싱 유형

다음과 같은 방법으로 참조 데이터 집합의 메모리를 할당할 수 있습니다.

  • 전체 사전 캐싱은 입력을 처리하기 전에 전체 참조 데이터 집합을 읽습니다. 이것이 기본 캐싱 유형입니다. 전체 사전 캐싱을 사용하도록 조회 변환을 구성하려면 조회 변환 편집기고급 탭에 있는 모든 옵션의 선택을 취소합니다.
  • 부분 캐싱은 조회 변환에서 참조 데이터와 함께 로드되는 캐시 크기를 지정합니다. 이 옵션은 키 액세스를 지원하는 연결에만 사용할 수 있습니다. 부분 캐싱을 사용하도록 조회 변환을 구성하려면 조회 변환 편집기고급 탭에서 메모리 제한 사용을 선택한 다음 캐싱 사용 또는 SQL 문 수정을 선택하거나 캐싱 사용SQL 문 수정을 모두 선택합니다.
  • 캐싱 안 함은 행 집합의 각 행이 참조 데이터 집합에 액세스합니다. 캐싱을 사용하지 않도록 조회 변환을 구성하려면 조회 변환 편집기고급 탭에서 메모리 제한 사용을 선택하고 다른 모든 옵션의 선택을 취소합니다.

고급 탭에 대한 자세한 내용은 조회 변환 편집기(고급 탭)를 참조하십시오.

OR ISNULL(ColumnName) 조건을 포함하도록 SQL 문을 수동으로 업데이트하지 않으면 부분 캐싱이나 캐싱 안 함을 사용하도록 구성된 조회 변환은 조회 작업이 Null 값을 포함한 열과 일치할 경우 실패합니다. 전체 사전 캐싱을 사용하면 조회 작업이 성공합니다.

[!참고] 가능하면 조회 작업에 Null 값이 포함될 수 있는 열은 사용하지 마십시오. 열에 Null 값이 있으면 참조 테이블에 일치하는 행이 없는 행을 별도의 변환 출력으로 보내는 오류 출력을 사용하도록 조회 변환을 구성합니다. 또는 Null 값에 대한 조회 작업을 지원하는 전체 캐싱을 사용합니다.

Integration Services와 SQL Server의 문자열 비교 방식에는 차이가 있습니다. 전체 사전 캐싱을 사용하도록 조회 변환이 구성된 경우 Integration Services에서는 캐시에서 조회 비교를 수행합니다. 그렇지 않은 경우 조회 작업에 매개 변수가 있는 SQL 문이 사용되고 SQL Server에서 조회 비교를 수행합니다. 즉, 같은 조회 테이블에서 조회 변환을 수행하더라도 캐시 유형에 따라 반환되는 일치 항목의 수가 달라질 수 있음을 의미합니다.

SQL 문 캐싱

조회 변환에서 SQL 문 캐싱을 사용하도록 구성할 수 있습니다. SQL 문은 참조 데이터 집합의 하위 집합을 선택하여 크기를 줄일 수 있습니다. 참조 데이터 집합이 매우 크면 캐싱 문을 사용하여 참조 데이터 집합에 사용되는 메모리 양을 제한합니다.

SQL 문 캐싱은 WHERE 절에 변수나 매개 변수를 사용할 수 있습니다. 매개 변수는 입력 열에 매핑되고 런타임 시 입력 열의 값으로 업데이트됩니다.

조회 변환 문제 해결

Microsoft SQL Server 2005 SP2(서비스 팩 2)부터 조회 변환이 외부 데이터 공급자에 대해 수행하는 호출을 기록할 수 있습니다. 이 새로운 로깅 기능을 사용하여 조회 변환이 수행하는 외부 데이터 원본에서의 캐시 채우기 문제를 해결할 수 있습니다. 조회 변환이 외부 데이터 공급자에 대해 수행하는 호출을 기록하려면 패키지 로깅을 설정하고 패키지 수준에서 Diagnostic 이벤트를 선택합니다. 자세한 내용은 패키지 실행 문제 해결을 참조하십시오.

조회 변환 구성

SSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다.

조회 변환 편집기 대화 상자에서 설정할 수 있는 속성에 대한 자세한 내용을 보려면 다음 항목 중 하나를 클릭하십시오.

고급 편집기 대화 상자에는 프로그래밍 방식으로 설정할 수 있는 속성이 표시됩니다. 고급 편집기 대화 상자를 사용하거나 프로그래밍 방식으로 설정할 수 있는 속성에 대한 자세한 내용을 보려면 다음 항목 중 하나를 클릭하십시오.

속성 설정 방법을 보려면 다음 항목 중 하나를 클릭하십시오.

참고 항목

개념

유사 항목 조회 변환
용어 조회 변환
패키지 데이터 흐름 만들기
Integration Services 변환

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2006년 12월 12일

새로운 내용
  • UI를 사용하여 다른 캐시 유형을 사용하는 방법에 대한 정보를 추가했습니다.
  • SQL Server 2005 SP2에 포함된 새 로깅 메시지를 사용하여 변환이 외부 데이터 공급자에 대해 수행하는 호출 문제를 해결할 수 있는 방법에 대한 정보를 추가했습니다.

2006년 4월 14일

새로운 내용
  • 32비트 및 64비트 환경의 캐시 크기를 지정하는 기능을 설명했습니다.
  • 다른 캐시 유형을 사용하는 데 따르는 효과에 대한 정보를 추가했습니다.

2005년 12월 5일

변경된 내용
  • 일치 동작을 명확하게 했습니다.