Integration Services 역할 사용
SQL Server Integration Services에는 패키지에 대한 액세스를 제어하기 위한 3가지 고정 데이터베이스 수준 역할인 db_ssisadmin, db_ssisltduser 및 db_ssisoperator가 있습니다. 역할은 SQL Server의 msdb 데이터베이스에 저장된 패키지에만 구현될 수 있습니다. SQL Server Management Studio를 사용하여 패키지에 역할을 할당하십시오. 역할 할당은 msdb 데이터베이스에 저장됩니다.
다음 표에서는 Integration Services 내에서 Windows 및 고정 데이터베이스 수준 역할의 읽기/쓰기 동작에 대해 설명합니다.
역할 |
읽기 동작 |
쓰기 동작 |
---|---|---|
db_ssisadmin 또는 sysadmin |
자체 패키지를 열거합니다. 모든 패키지를 열거합니다. 자체 패키지를 봅니다. 모든 패키지를 봅니다. 자체 패키지를 실행합니다. 모든 패키지를 실행합니다. 자체 패키지를 내보냅니다. 모든 패키지를 내보냅니다. SQL Server 에이전트에서 모든 패키지를 실행합니다. |
패키지를 가져옵니다. 자체 패키지를 삭제합니다. 모든 패키지를 삭제합니다. 자체 패키지 역할을 변경합니다. 모든 패키지 역할을 변경합니다.
중요
db_ssisadmin 및 dc_admin 역할의 멤버는 해당 권한을 sysadmin으로 승격할 수 있습니다. 이러한 권한 승격이 발생할 수 있는 것은 이러한 역할이 Integration Services 패키지를 수정할 수 있고 SQL Server에서 SQL Server 에이전트의 sysadmin 보안 컨텍스트를 사용하여 Integration Services 패키지를 실행할 수 있기 때문입니다. 유지 관리 계획, 데이터 컬렉션 집합 및 기타 Integration Services 패키지를 실행할 때 이러한 권한 상승이 발생하지 않도록 하려면 패키지를 실행하는 SQL Server 에이전트 작업이 제한된 권한을 갖는 프록시 계정을 사용하도록 구성하거나 db_ssisadmin 및 dc_admin 역할에 sysadmin 멤버만 추가합니다.
|
db_ssisltduser |
자체 패키지를 열거합니다. 모든 패키지를 열거합니다. 자체 패키지를 봅니다. 자체 패키지를 실행합니다. 자체 패키지를 내보냅니다. |
패키지를 가져옵니다. 자체 패키지를 삭제합니다. 자체 패키지 역할을 변경합니다. |
db_ssisoperator |
모든 패키지를 열거합니다. 모든 패키지를 봅니다. 모든 패키지를 실행합니다. 모든 패키지를 내보냅니다. SQL Server 에이전트에서 모든 패키지를 실행합니다. |
없음 |
Windows 관리자 |
실행 중인 모든 패키지의 실행 세부 사항을 봅니다. |
실행 중인 모든 패키지를 중지합니다. |
msdb의 sysssispackages 테이블에는 SQL Server로 저장되는 패키지가 포함됩니다. 자세한 내용은 sysssispackages(Transact-SQL)를 참조하십시오.
sysssispackages 테이블에는 패키지로 할당되는 역할에 대한 정보가 들어 있는 열이 포함됩니다.
readerrole 열은 패키지에 읽기 액세스를 가진 역할을 지정합니다.
writerrole 열은 패키지에 쓰기 액세스를 가진 역할을 지정합니다.
ownersid 열은 패키지를 만든 사용자의 고유 보안 식별자를 포함하며 패키지의 소유자를 정의합니다.
기본적으로 패키지의 읽기 역할에는 db_ssisadmin 및 db_ssisoperator 고정 데이터베이스 수준 역할의 사용 권한과 패키지를 만든 사용자의 고유 보안 식별자가 적용되고 쓰기 역할에는 db_ssisadmin 역할의 사용 권한과 패키지를 만든 사용자의 고유 보안 식별자가 적용됩니다. 패키지에 대한 읽기 액세스 권한을 가지려면 db_ssisadmin, db_ssisltduser 또는 db_ssisoperator 역할의 멤버여야 하고 쓰기 액세스 권한을 가지려면 db_ssisadmin 역할의 멤버여야 합니다.
고정 데이터 수준 역할은 사용자 정의 역할과 함께 작동합니다. 사용자 정의 역할은 SQL Server Management Studio에서 만들며 패키지에 권한을 할당하는 데 사용되는 역할입니다. 패키지에 액세스하려면 해당 사용자가 사용자 정의 역할 및 적절한 Integration Services 고정 데이터베이스 수준 역할의 멤버여야 합니다. 예를 들어 사용자가 패키지에 할당된 AuditUsers 사용자 정의 역할의 멤버인 경우 패키지에 대한 읽기 액세스를 가지려면 db_ssisadmin, db_ssisltduser 또는 db_ssisoperator 역할의 멤버여야 합니다.
패키지에 사용자 정의 역할을 할당하지 않은 경우 패키지에 대한 액세스는 고정 데이터베이스 수준 역할에 의해 결정됩니다.
사용자 정의 역할을 사용하려면 패키지에 할당하기 전에 msdb 데이터베이스에 역할을 추가해야 합니다. SQL Server Management Studio에서 새 데이터베이스 역할을 만들 수 있습니다.
Integration Services 데이터베이스 수준 역할은 msdb 데이터베이스의 Integration Services 시스템 테이블에 대한 권한을 부여하지만 msdb 데이터베이스의 sysdtspackages와 같은 DTS 시스템 테이블에 대한 권한은 부여하지 않습니다. Management Studio에서 DTS 패키지 가져오기와 같은 특정 관리 태스크를 수행하려면 DTS 시스템 테이블에 대한 사용자 권한을 부여해야 합니다. DTS 지원에 대한 자세한 내용은 SQL Server 2008에서 DTS(데이터 변환 서비스) 지원을 참조하십시오.
1단계: 개체 탐색기를 열어 Integration Services에 연결
SQL Server Management Studio를 사용하여 패키지에 역할을 할당하기 전에 SQL Server Management Studio에서 개체 탐색기를 열고 Integration Services에 연결해야 합니다.
Integration Services에 연결하기 전에 Integration Services 서비스를 시작해야 합니다.
개체 탐색기를 열고 Integration Services에 연결하려면
SQL Server Management Studio를 엽니다.
보기 메뉴에서 개체 탐색기를 클릭합니다.
개체 탐색기 도구 상자에서 연결을 클릭하고 Integration Services를 클릭합니다.
서버에 연결 대화 상자에 서버 이름을 입력합니다. 마침표(.), (local) 또는 localhost를 사용하여 로컬 서버를 지정할 수 있습니다.
연결을 클릭합니다.
2단계: 패키지에 읽기 및 쓰기 역할 할당
각 패키지에 읽기 및 쓰기 역할을 할당할 수 있습니다.
패키지에 읽기 및 쓰기 역할 할당
개체 탐색기에서 Integration Services 연결을 찾습니다.
저장된 패키지 폴더를 확장한 다음 역할을 할당할 패키지를 포함하는 하위 폴더를 확장합니다.
역할을 할당하려는 패키지를 마우스 오른쪽 단추로 클릭합니다.
패키지 역할 대화 상자의 읽기 역할 목록에서 읽기 역할을 선책하고 쓰기 역할 목록에서 쓰기 역할을 선택합니다.
확인을 클릭합니다.
사용자 정의 역할 만들기
데이터베이스 엔진에 연결하고 msdb 데이터베이스에 액세스하기 전에 SQL Server(MSSQLSERVER 서비스)를 시작해야 합니다.
사용자 정의 역할을 만들려면
SQL Server Management Studio를 엽니다.
보기 메뉴에서 개체 탐색기를 클릭합니다.
개체 탐색기 도구 모음에서 연결, 데이터베이스 엔진을 차례로 클릭합니다.
서버에 연결 대화 상자에 서버 이름을 입력하고 인증 모드를 선택합니다. 마침표(.), (local) 또는 localhost를 사용하여 로컬 서버를 지정할 수 있습니다.
연결을 클릭합니다.
데이터베이스, 시스템 데이터베이스, msdb, 보안 및 역할을 확장합니다.
역할 노드에서 데이터베이스 역할을 마우스 오른쪽 단추로 클릭하고 새 데이터베이스 역할을 클릭합니다.
일반 페이지에 이름을 입력하고 필요에 따라 소유자 및 소유한 스키마를 지정한 다음 역할 멤버를 추가합니다.
필요에 따라 권한을 클릭하고 개체 사용 권한을 구성합니다.
필요에 따라 확장 속성을 클릭하고 확장 속성을 구성합니다.
확인을 클릭합니다.
|