클러스터형 환경에서 Integration Services 구성
새 설치: 2007년 9월 15일
Integration Services 서비스는 클러스터형 또는 클러스터 인식형 서비스가 아니며 클러스터 노드 간 장애 조치 기능을 지원하지 않습니다. 따라서 클러스터형 환경에서는 클러스터의 노드마다 Integration Services를 설치하고 독립 실행형 서비스로 시작해야 합니다.
중요: |
---|
Integration Services 서비스는 클러스터 리소스로 구성하지 않는 것이 좋습니다. |
Integration Services 서비스는 클러스터형 서비스가 아니지만 클러스터의 노드마다 별도로 Integration Services를 설치한 후 이러한 서비스가 클러스터 리소스로 작동하도록 수동으로 구성할 수 있습니다. 이 구성을 통해 얻는 장점이 단점보다 많다고 생각하는 사용자를 위해 이 항목에서는 서비스를 클러스터 리소스로 구성하는 방법을 설명합니다.
그러나 클러스터형 하드웨어 환경 설정 시 고가용성이 목표인 경우 Integration Services 서비스를 클러스터 리소스로 구성하지 않고 고가용성 목표를 달성할 수 있습니다. 클러스터의 모든 노드에서 패키지를 관리하려면 클러스터의 각 노드에서 Integration Services 서비스의 구성 파일을 수정합니다. 이러한 각 구성 파일이 패키지가 저장되어 있는 모든 사용 가능한 SQL Server 인스턴스를 가리키도록 수정할 수 있습니다. 이렇게 하면 Integration Services 서비스를 클러스터 리소스로 구성할 때 발생할 수 있는 문제를 방지하고 대부분의 고객이 원하는 고가용성을 제공할 수 있습니다. 구성 파일을 변경하는 방법은 Integration Services 서비스 구성을 참조하십시오.
Integration Services 서비스의 역할 이해
클러스터형 환경에서 서비스를 구성하는 방법을 합리적으로 결정하려면 Integration Services 서비스의 역할을 이해하는 것이 중요합니다.
Integration Services 서비스는 Integration Services 패키지 나열, 시작, 중지, 모니터링, 가져오기 및 내보내기 등 SQL Server Management Studio의 관리 인터페이스를 지원합니다. Integration Services 서비스는 패키지를 디자인하는 데는 필요하지 않습니다. 또한 패키지를 실행하거나 패키지를 실행하는 SQL Server 에이전트 작업을 예약하는 데도 필요하지 않습니다.
Integration Services 서비스가 실행되고 있지 않은 경우에도 다음과 같은 작업을 수행할 수 있습니다.
- Business Intelligence Development Studio에서 패키지를 디자인하고 실행합니다.
- dtexec 명령 프롬프트 유틸리티(dtexec.exe), 패키지 실행 유틸리티(dtexecui.exe), SQL Server 에이전트 또는 SQL Server 가져오기 및 내보내기 마법사를 사용하여 패키지를 실행합니다.
- Transact-SQL 쿼리를 사용하여 msdb 데이터베이스에 저장된 패키지를 나열하고 Windows 탐색기를 사용하여 파일 시스템에 저장된 패키지를 나열합니다.
- SQL Server 에이전트 작업과 유지 관리 계획을 만들고 실행합니다.
Integration Services를 클러스터 리소스로 구성 시 단점 이해
Integration Services 서비스를 클러스터 리소스로 구성할 경우 단점은 다음과 같습니다.
- 장애 조치가 수행될 경우 실행 중인 패키지가 다시 시작되지 않습니다. 검사점에서 패키지를 다시 시작하면 패키지 오류를 복구할 수 있습니다. 서비스를 클러스터 리소스로 구성하지 않고 검사점부터 다시 시작해야 합니다. 자세한 내용은 패키지에서 검사점 사용을 참조하십시오.
- Integration Services 서비스를 SQL Server의 다른 리소스 그룹에 구성하는 경우 클라이언트 컴퓨터에서 Management Studio를 사용하여 msdb 데이터베이스에 저장된 패키지를 관리할 수 없습니다. 이러한 이중 홉 시나리오에서 Integration Services 서비스는 자격 증명을 위임할 수 없습니다.
- 클러스터에 Integration Services 서비스가 포함된 여러 SQL Server 리소스 그룹이 있는 경우 장애 조치로 인해 예기치 않은 결과가 발생할 수 있습니다. 다음과 같은 시나리오를 고려해 보십시오. 그룹 1은 SQL Server 서비스와 Integration Services 서비스를 포함하며 노드 A에서 실행 중입니다. 그룹 2도 SQL Server 서비스와 Integration Services 서비스를 포함하며 노드 B에서 실행 중입니다. 그룹 2는 노드 A로 장애 조치됩니다. 이때 Integration Services 서비스가 단일 인스턴스 서비스이므로 노드 A에서 Integration Services 서비스의 다른 인스턴스를 시작하려 하면 오류가 발생합니다. 노드 A로 장애 조치를 시도하는 SQL Server 서비스의 실패 여부는 그룹 2의 Integration Services 서비스 구성에 따라 다릅니다. Integration Services 서비스가 리소스 그룹의 다른 서비스에 영향을 주도록 구성되어 있는 경우 SQL Server 서비스가 실패했으므로 장애 조치 중인 Integration Services 서비스도 실패하게 됩니다. 서비스가 리소스 그룹의 다른 서비스에 영향을 주지 않도록 구성되어 있는 경우 SQL Server 서비스는 노드 A로 장애 조치될 수 있습니다.
Integration Services 서비스를 클러스터 리소스로 구성
Integration Services 서비스를 클러스터 리소스로 구성할 때 얻는 장점이 단점보다 많다고 생각하는 사용자를 위해 이 섹션에서는 필요한 구성 방법을 설명합니다. 그러나 Integration Services 서비스를 클러스터 리소스로 구성하지 않는 것이 좋습니다.
Integration Services 서비스를 클러스터 리소스로 구성하려면 다음 단계를 따라야 합니다.
- 클러스터에 Integration Services를 설치합니다.
- Integration Services를 클러스터 리소스로 구성합니다.
- Integration Services 서비스 및 패키지 저장소를 구성합니다.
- Integration Services 서비스가 클러스터 리소스로 온라인 상태가 되게 합니다.
클러스터에 Integration Services 설치
클러스터에 Integration Services를 설치하려면 클러스터의 노드마다 Integration Services를 설치해야 합니다.
클러스터에 Integration Services를 설치하려면
하나 이상의 노드를 사용하여 클러스터를 설치 및 구성합니다.
(옵션) SQL Server 데이터베이스 엔진과 같은 클러스터형 서비스를 설치합니다.
클러스터의 각 노드에 Integration Services를 설치합니다.
Integration Services를 클러스터 리소스로 구성
클러스터의 각 노드에 Integration Services를 설치했으면 Integration Services를 클러스터 리소스로 구성해야 합니다. Integration Services 서비스를 클러스터 리소스로 구성하면 SQL Server 데이터베이스 엔진과 동일한 리소스 그룹이나 다른 그룹에 서비스를 추가할 수 있습니다. 다음 표에서는 리소스 그룹을 선택할 경우 장점 및 단점을 설명합니다.
Integration Services 및 SQL Server가 동일한 리소스 그룹에 있는 경우 | Integration Services 및 SQL Server가 다른 리소스 그룹에 있는 경우 |
---|---|
SQL Server 데이터베이스 엔진 및 Integration Services 서비스가 동일한 가상 서버에서 실행 중이므로 클라이언트 컴퓨터가 SQL Server Management Studio를 사용하여 msdb 데이터베이스에 저장된 패키지를 관리할 수 있습니다. 이렇게 하면 이중 홉 시나리오의 위임 문제를 피할 수 있습니다. |
클라이언트 컴퓨터가 SQL Server Management Studio를 사용하여 msdb 데이터베이스에 저장된 패키지를 관리할 수 없습니다. 클라이언트는 Integration Services 서비스가 실행 중인 가상 서버에 연결할 수 있습니다. 그러나 SQL Server가 실행 중인 가상 서버에 사용자의 자격 증명을 위임할 수 없습니다. 이를 이중 홉 시나리오라고 합니다. |
Integration Services 서비스가 CPU 및 다른 컴퓨터 리소스를 확보하기 위해 다른 SQL Server 서비스와 경합합니다. |
여러 노드에 여러 리소스 그룹이 구성되어 있으므로 Integration Services 서비스가 CPU 및 다른 컴퓨터 리소스를 확보하기 위해 다른 SQL Server 서비스와 경합하지 않습니다. |
두 서비스가 동일한 컴퓨터에서 실행되고 있으므로 패키지를 msdb 데이터베이스에 로드하고 저장할 때 속도가 빨라지고 네트워크 트래픽이 줄어듭니다. |
msdb 데이터베이스에 패키지를 로드하고 저장할 때 속도가 느려지고 네트워크 트래픽이 증가할 수 있습니다. |
두 서비스가 동시에 온라인 또는 오프라인 상태가 됩니다. |
SQL Server 데이터베이스 엔진은 오프라인 상태이지만 Integration Services 서비스는 온라인 상태일 수 있습니다. 따라서 SQL Server 데이터베이스 엔진의 msdb 데이터베이스에 저장된 패키지를 사용할 수 없습니다. |
필요에 따라 Integration Services 서비스를 다른 노드로 신속하게 이동할 수 없습니다. |
필요에 따라 Integration Services 서비스를 다른 노드로 매우 신속하게 이동할 수 있습니다. |
Integration Services를 추가할 리소스 그룹을 결정한 후에는 해당 그룹에서 Integration Services를 클러스터 리소스로 구성해야 합니다.
Integration Services를 클러스터 리소스로 구성하려면
클러스터 관리자를 엽니다.
콘솔 트리에서 그룹 폴더를 선택합니다.
결과 창에서 Integration Services를 추가하려는 그룹을 선택합니다.
- Integrations Services를 SQL Server와 동일한 리소스 그룹에 클러스터 리소스로 추가하려면 SQL Server가 속한 그룹을 선택합니다.
- Integrations Services를 SQL Server와 다른 그룹에 클러스터 리소스로 추가하려면 SQL Server가 속한 그룹과 다른 그룹을 선택합니다.
파일 메뉴에서 새로 만들기를 가리킨 다음 리소스를 클릭합니다.
리소스 마법사의 새 리소스 페이지에서 이름을 입력하고 **"일반 서비스"**를 서비스 유형으로 선택합니다. 그룹 값은 변경하지 마십시오. 다음을 클릭합니다.
가능한 소유자 페이지에서 클러스터의 노드를 리소스의 가능한 소유자로 추가하거나 제거합니다. 다음을 클릭합니다.
종속성 페이지에서 종속성을 추가하려면 사용 가능한 리소스에서 리소스를 선택한 다음 추가를 클릭합니다. 장애 조치의 경우 SQL Server와 Integration Services 패키지를 저장하는 공유 디스크는 모두 Integration Services가 온라인 상태가 되기 전에 온라인 상태가 되어야 합니다. 종속성을 선택한 후 다음을 클릭합니다.
일반 서비스 매개 변수 페이지에서 MsDtsServer를 서비스 이름으로 입력합니다. 다음을 클릭합니다.
레지스트리 복제 페이지에서 추가를 클릭하여 Integration Services 서비스에 대한 구성 파일의 위치를 식별하는 레지스트리 키를 추가합니다. 이 파일은 Integration Services 서비스와 동일한 리소스 그룹에 있는 공유 디스크에 있어야 합니다.
레지스트리 키 대화 상자에서 SOFTWARE\Microsoft\MSDTS\ServiceConfigFile을 입력합니다. 확인을 클릭한 다음 마침을 클릭합니다.
Integration Services 서비스가 클러스터 리소스로 추가됩니다.
Integration Services 서비스 및 패키지 저장소 구성
Integration Services를 클러스터 리소스로 구성했으면 클러스터의 각 노드에서 Integration Services 서비스에 대한 구성 파일의 위치 및 내용을 수정해야 합니다. 이렇게 하면 장애 조치 시 모든 노드에서 구성 파일과 패키지 저장소를 모두 사용할 수 있습니다. 구성 파일의 위치 및 내용을 수정한 후에는 서비스를 온라인 상태로 만들어야 합니다.
Integration Services 서비스 및 패키지 저장소를 구성하려면
%ProgramFiles%\Microsoft SQL Server\90\DTS\Binn\MsDtsSrvr.ini.xml에서 구성 파일을 찾아 Integration Services 서비스를 추가한 그룹의 공유 디스크에 복사합니다.
공유 디스크에서 패키지 저장소로 사용할 Packages라는 새 폴더를 만듭니다. 해당 사용자 및 그룹에 새 폴더에 대한 폴더 보기 및 쓰기 권한을 부여합니다.
텍스트 편집기나 XML 편집기에서 공유 디스크의 구성 파일을 엽니다. ServerName 요소의 값을 같은 리소스 그룹에 있는 가상 SQL Server의 이름으로 변경합니다.
StorePath 요소의 값을 앞 단계에서 공유 디스크에 만든 Packages 폴더의 정규화된 경로로 변경합니다.
레지스트리에서 **HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\**MSDTS\ServiceConfigFile의 값을 공유 디스크에 있는 서비스 구성 파일의 정규화된 경로와 파일 이름으로 업데이트합니다.
Integration Services 서비스를 온라인 상태로 만들려면
- 클러스터 관리자에서 Integration Services 서비스를 선택하고 마우스 오른쪽 단추로 클릭한 다음 팝업 메뉴에서 온라인 상태로 만들기를 선택합니다. Integration Services 서비스가 클러스터 리소스로 온라인 상태가 됩니다.
클러스터형 환경에서 Integration Services에 연결
클러스터 또는 서버에서 Integration Services 서비스를 구성한 후에는 DCOM 권한을 구성해야 클라이언트 컴퓨터에서 서비스에 연결할 수 있습니다. 자세한 내용은 원격 Integration Services 서버에 연결을 참조하십시오.
Integration Services 서비스는 자격 증명을 위임할 수 없습니다. 따라서 다음 조건에 해당하는 경우 Management Studio를 사용하여 msdb 데이터베이스에 저장된 패키지를 관리할 수 없습니다.
- Integration Services 서비스 및 SQL Server가 별개의 서버 또는 가상 서버에서 실행 중입니다.
- SQL Server Management Studio를 실행하는 클라이언트가 세 번째 컴퓨터입니다.
클라이언트는 Integration Services 서비스가 실행 중인 가상 서버에 연결할 수 있습니다. 그러나 SQL Server가 실행 중인 가상 서버에 사용자의 자격 증명을 위임할 수 없습니다. 이를 이중 홉 시나리오라고 합니다.