방법: Notification Services 인스턴스에 데이터베이스 권한 부여
이 절차에서는 SQL Server에 액세스하기 위해 Notification Services 엔진에서 사용하는 계정(일반적으로 NS$instanceName Microsoft Windows 서비스)에 데이터베이스 권한을 부여하는 방법을 보여 줍니다. 사용 계정은 Windows 계정이거나 SQL Server 로그인 계정일 수 있습니다. 이 절차에서는 해당 계정에 이미 SQL Server 로그인 권한이 부여되었다고 가정합니다.
[!참고] 기본 인스턴스 데이터베이스 이름은 instanceNameNSMain이고 기본 응용 프로그램 데이터베이스 이름은 instanceName + ApplicationName입니다. 그러나 SQL Server 2005에서는 인스턴스 구성 및 응용 프로그램 정의에 데이터베이스 이름을 지정할 수 있습니다.
데이터베이스 권한을 부여하려면
SQL Server Management Studio 개체 탐색기에서 데이터베이스를 확장합니다.
인스턴스 데이터베이스 및 각 응용 프로그램 데이터베이스에 대해 다음을 수행합니다.
- 데이터베이스를 확장합니다.
- 보안 폴더를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 사용자를 선택합니다.
- 사용자 이름 상자에 데이터베이스 사용자의 이름을 입력합니다.
- 로그인 이름 상자에 로그인의 이름을 입력합니다.
로그인 이름은 SQL Server 인스턴스의 기존 로그인 이름과 정확히 일치해야 합니다. 검색을 클릭하여 로그인 이름을 검색합니다. - 데이터베이스 역할 멤버 자격 상자에서 적절한 데이터베이스 역할을 선택합니다.
엔진이 호스팅된 이벤트 공급자를 실행할 경우 NSEventProvider 역할을 선택하고 생성자를 실행할 경우에는 NSGenerator를 선택합니다. 또한 인스턴스가 배포자를 실행할 경우에는 NSDistributor를 선택합니다. 엔진이 모든 구성 요소를 실행하면 NSRunService 역할을 선택하십시오.
중요 계정에 필요한 최소 권한을 부여하십시오. 예를 들어 해당 계정을 이벤트 전송에만 사용할 경우에는 NSEventProvider 데이터베이스 역할에만 추가하고 다른 데이터베이스 역할에는 추가하지 마십시오.
예
다음 코드에서는 Notification Services 인스턴스 및 해당 응용 프로그램에 데이터베이스 사용 권한을 부여하는 방법을 보여 줍니다. 동일한 계정에서 호스팅된 이벤트 공급자, 배포자 및 응용 프로그램 생성자가 실행되므로 NSRunService 데이베이스 역할에 해당 계정이 추가됩니다.
USE [InstanceNameNSMain];
CREATE USER [MyLogin];
EXEC sp_addrolemember N'NSRunService', N'MyLogin';
USE [InstanceNameAppName];
CREATE USER [MyLogin];
EXEC sp_addrolemember N'NSRunService', N'MyLogin';
참고 항목
개념
Notification Services 인스턴스에 대한 SQL Server 사용 권한 구성
Notification Services 보안 설정
관련 자료
보안 관리 방법 도움말 항목(Notification Services)