로컬 서비스 계정에서 실행되는 SQL Server에서 도메인 사용자가 소유 한 SSIS 패키지 실행


10

Transfer SQL Server Objects 작업이 포함 된 SSIS 패키지를 실행하고 싶습니다. 관련 서버가 동일한 도메인에 있지만 SQL Server 서비스가 로컬 서비스 계정에서 실행되고 있습니다. 따라서 환경은 다음과 같습니다.

도메인

서버 1

  • 로컬 계정에서 실행되는 SQL Server
  • 파일 시스템에서 : SSIS 패키지
  • SQL Server 에이전트 : 작업

서버 2

  • 로컬 계정에서 실행되는 SQL Server

두 서버 모두에 로그온 할 수 있도록 서비스 계정으로 사용할 도메인 계정을 만들었습니다. 이 도메인 계정을 사용하여 서버 1에 로그온 한 다음 파일 시스템에서 패키지를 실행하면 모든 단계가 성공합니다. 그러나 SQL Server에 작업을 추가하려고하면 다음 문제 중 하나가 발생합니다.

상황 1. 구직자 : 로컬 계정; 도메인 계정에 프록시로 SSIS 단계를 실행하십시오 . 작업 소유자를 로컬 계정으로 설정했지만 도메인 계정에 대한 프록시로 작업을 실행하면 작업 자체는 성공적으로 실행되지만 패키지는 다음과 같은 오류를 발생시킵니다

" 'LocalApplicationData'디렉토리가 없습니다."오류로 인해 실행에 실패했습니다.

이 오류는 서버 1의 도메인 사용자에 대한 관리자 권한으로 로그인하여 생성 할 수 있지만 이는 바람직한 해결책이 아닙니다. SQL Server 에이전트 / DTS 그룹 중 하나에 계정을 추가해도 작동하지 않습니다.

상황 2. 작업 소유자 : 도메인 계정; SSIS 단계를 도메인 계정의 프록시로 실행하십시오 . 단계의 작업 소유자와 '사용자로 실행'을 모두 도메인 계정으로 설정하면 작업이 전혀 시작되지 않고 다음 오류가 발생합니다.

작업의 소유자 (도메인 \ 도메인 사용자)에 Job name서버 액세스 권한이 있는지 판별 할 수 없습니다 (이유 : Windows NT 그룹 / 사용자 '도메인 \ 도메인 사용자'에 대한 정보를 얻을 수 없음, 오류 코드 0x5. [SQLSTATE 42000] (오류 15404)) .

마지막 오류는 SQL Server가 로컬 계정에서 실행되고 도메인 계정이 가진 권한을 볼 수 없기 때문이라고 생각합니다.

작업을 실행하는 올바른 방법은 무엇입니까? 상황 2가 더 깨끗해 보이지만 SQL Server가 로컬 계정에서 실행되므로 불가능한 것 같습니다. 상황 1도 작동하지만 SQL Server에 대한 도메인 사용자 관리 권한을 부여하는 것은 일어나지 않을 것입니다.


최신 정보:

@JonSeigel 및 @ Mr.Brownstone :

이것이 문제라는 것은 그럴듯 해 보인다. 권한이 없기 때문이다. 그러나 존재하지 않는 'LocalApplicationData'(각 계정에 대해 생성 된 폴더 중 하나)에 대한 오류입니다. 패키지가 실행되는 자격 증명 (이에 따라 프로필 디렉토리 만들기)으로 서버에 이미 로그인 한 상태에서 프로필 디렉토리에 대한 여러 권한 조합을 시도했습니다. 이 특정 디렉토리에 대한 거의 모든 권한을 수동으로 부여하더라도 위에서 언급 한 오류가 발생합니다.

더 많은 연구를하는 동안 나는 해결책이없는 http://www.sqlservercentral.com/Forums/Topic391332-148-1.aspx#bm391441 의 포럼 스레드를 만났습니다 .


SQL 서비스에 도메인 계정을 사용하지 않는 이유가 있습니까?
Eric Higgins

예, 그러나 어떤 이유인지 모르겠습니다 (DTAP주기와 도메인이 어디에서나 사용 가능한 것은 아님). 어쨌든, 그것은 내가 바꿀 수없는 주어진 환경입니다.
vstrien April

상황 # 1이 답인 것 같습니다. 나는 당신이 얻는 오류 메시지가 패키지 안에 있다고 생각합니다. 즉, 패키지가 실행되고 있지만 패키지 내의 작업에는 서비스 계정이 부여한 것보다 많은 권한이 필요합니다. 계정에 성공하기 위해 관리자 수준의 권한을 계정에 부여 할 필요는 없습니다 (대량의 권한을 부여하거나 권한이 필요하지 않도록 프로세스를 변경).
Jon Seigel

원격 SQL Server (서버 2)에 SQL 로그인 (SQL 인증)을 추가 할 수 있습니까? 해당 옵션이 있으면 대상에 사용되는 SSIS 연결에서 SQL 로그인을 사용할 수 있습니다. 즉, 패키지를 암호화하려면 암호를 사용해야하지만 문제가 해결됩니다.
Roi Gavish

@Justicator : 아마도 최후의 수단으로. 그러나 도메인 로그인이 가능할 때마다 SQL 인증을 사용하지 않는 것이 좋습니다.
vstrien

답변:


5

내 개인적인 의견은 옵션 # 1이 갈 길이라는 것입니다. 그러나 도메인 계정에 로컬 관리자 액세스 권한을 부여 할 필요가 없습니다. 특정 폴더와 파일에 액세스해야하므로 패키지를 성공적으로 실행하는 데 필요한 리소스에만 도메인 사용자에게 액세스 권한을 부여 할 수 있습니다. 파일 / 폴더 속성 대화 상자를 통해이 작업을 수행하고 보안 탭을 선택할 수 있습니다. 부모 디렉터리의 권한을 설정하고 자식 속성을 재정의하도록 설정할 수 있으므로 모든 파일 및 폴더에 대해 보안 탭을 설정할 필요는 없습니다.

이것이 도움이되기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.