다음을 통해 공유


UAC 사용 시스템에서 데이터 삽입을 위해 SSIS 대량 삽입을 준비할 수 없음

이 문서는 UAC(사용자 계정 컨트롤)가 사용하도록 설정된 시스템에서 SSIS 패키지를 실행하려고 할 때 발생하는 문제를 resolve 데 도움이 됩니다.

원래 제품 버전: SQL Server
원래 KB 번호: 2009672

증상

다음과 같은 경우를 생각해볼 수 있습니다.

  • 데이터 흐름 작업 내에서 SQL Server 대상 구성 요소가 있는 SQL Server Integration Services(SSIS) 패키지를 만듭니다.

  • 다음 방법 중 하나를 사용하여 UAC(사용자 계정 컨트롤)가 사용하도록 설정된 시스템(예: Vista 또는 Windows 7)에서 이 패키지를 실행하려고 합니다.

    • BIDS(Business Intelligence Development Studio)
    • SSMS(SQL Server Management Studio) 개체 탐색기
    • DTExec.exe
    • DTExecUI.exe

이 시나리오에서는 다음과 유사한 오류 메시지가 나타날 수 있습니다.

SQL Server 대상] 오류: 데이터 삽입을 위해 SSIS 대량 삽입을 준비할 수 없습니다. [SSIS. 파이프라인] 오류: 구성 요소 "SQL Server 대상"이 사전 실행 단계에 실패하고 오류 코드 0xC0202071 반환했습니다.

참고

운영 체제 설치 중에 만들어지는 기본 제공 관리자 계정에서 패키지를 실행하면 이 오류가 표시되지 않습니다. 그러나 로컬 관리자 그룹의 구성원인 사용자를 포함하여 다른 모든 사용자에 대해 이 메시지가 표시됩니다.

SQL Server 에이전트 작업과 동일한 SSIS 패키지를 실행할 때 문제가 발생하지 않습니다.

SQL 2008 서비스 팩 2가 설치되면 오류 DTS_E_BULKINSERTAPIPREPARATIONFAILED(0xC0202071) 의 텍스트가 데이터를 대량 복사할 수 없음으로 변경되었습니다. 관리자 권한으로 이 패키지를 실행해야 할 수 있습니다.

이 변경 내용은 이 KB의 해결 섹션에 설명된 대로 필요한 수정 작업을 더 쉽게 이해할 수 있도록 하기 위해 수행되었습니다.

원인

UAC가 사용하도록 설정된 시스템에서 관리자 그룹의 구성원인 계정에서 애플리케이션(예: SSIS)을 시작하면 두 개의 보안 토큰(하나는 낮은 권한 있는 토큰과 다른 하나는 상승된 토큰)을 가져옵니다. 관리자 권한 토큰은 관리자 권한 으로 실행 옵션을 선택하여 애플리케이션이 관리자 계정으로 명시적으로 실행되는 경우에만 사용됩니다. 기본적으로 SSIS는 항상 권한이 낮은 토큰을 사용하므로 SQL 대상에 연결할 때 오류가 발생합니다.

해결 방법

다음 방법 중 하나를 사용하여 문제를 해결합니다.

  • SQL Server Management Studio(SSMS) 또는 BIDS(Business Intelligence Development Studio) 또는 DTExecUI.exe 패키지를 실행하는 경우 관리자 권한으로 해당 도구를 시작합니다. 이렇게 하려면 시작을 클릭하고 모든 프로그램, SQL Server 2005 또는 SQL Server 2008을 가리킨 다음 사용 중인 도구를 마우스 오른쪽 단추로 클릭한 다음 관리자 권한으로 실행을 클릭합니다. 그러면 기본 제공 관리자 계정의 상승된 권한으로 애플리케이션이 시작되고 패키지가 성공적으로 실행됩니다.

    마찬가지로 DTExec.exe 사용하여 패키지를 실행하는 경우 관리자 권한 명령 프롬프트에서 패키지를 시작합니다. 시작을 클릭하고 모든 프로그램, 액세서리, 명령 프롬프트를 마우스 오른쪽 단추로 클릭한 다음 관리자 권한으로 실행을 클릭하여 관리자 권한 명령 프롬프트를 시작할 수 있습니다.

    참고

    관리자 권한으로 컴퓨터에 로그온하지 않으면 관리자 계정을 제공하라는 메시지가 표시됩니다. 관리자 계정을 입력하라는 메시지가 표시되면 사용자 계정 컨트롤 대화 상자에 관리자 사용자 이름 및 암호를 입력합니다. 그런 다음 확인을 클릭합니다.

  • 실패한 데이터 흐름 작업의 SQL Server 대상 구성 요소를 동일한 SQL Server 연결 관리자를 가리키는 OLE DB 대상 구성 요소로 바꿉니다.

  • 전역 개체 만들기 사용자 권한을 해당 계정에 할당한 후 로컬 관리자 그룹의 구성원이 아닌 계정을 사용합니다. 이렇게 하려면 다음과 같이 하십시오.

    1. 시작을 클릭하고 관리 도구를 가리킨 다음 로컬 보안 정책을 클릭합니다.
    2. 로컬 정책을 확장하고 사용자 권한 할당을 클릭합니다.
    3. 오른쪽 창에서 전역 개체 만들기를 두 번 클릭합니다.
    4. 로컬 보안 정책 설정 대화 상자에서 추가를 클릭합니다.
    5. 사용자 또는 그룹선택 대화 상자에서 추가할 사용자 계정을 클릭하고 추가를 클릭한 다음 확인을 클릭합니다.
    6. 확인을 클릭합니다.

참고

로컬 관리자 그룹의 구성원이 아닌 계정을 사용하는 경우 UAC가 재생되지 않습니다.

추가 정보