Notification Services のインスタンスの SQL Server 権限の構成
Notification Services エンジンは、インスタンスのデータベースが格納されている SQL Server データベース エンジン のインスタンスに接続できる必要があります。そのためには、それらのデータベースに対する適切な権限が必要です。
認証モード
Notification Services エンジンは、Microsoft Windows 認証または SQL Server 認証を使用してデータベースに接続できます。
- Windows 認証を使用する場合、エンジンは Windows アカウントを使用してデータベース サーバーに接続します。インスタンスを開始する前に、その Windows アカウントに、データベース サーバーにログインする権限と、Notification Services のインスタンスが使用する各データベースに対する適切な権限があることを確認する必要があります。
- Windows 認証を使用できない場合は、SQL Server 認証を使用できます。そのためには、Notification Services のインスタンスを登録するときに、SQL Server ログインとパスワードを指定します。インスタンスを開始する前に、その SQL Server ログインがデータベース サーバーに存在すること、および Notification Services のインスタンスが使用する各データベースに対する適切な権限があることを確認する必要があります。
重要 : |
---|
可能な場合は、Windows 認証を使用します。 |
データベース権限
エンジンがデータベースへの接続に使用するアカウントには、接続先のデータベースに対する適切な権限が必要です。権限を許可するには、インスタンスの作成時に Notification Services によって作成されるデータベース ロールを使用します。
Notification Services のインスタンスを 1 つのコンピュータで実行する場合は、エンジンが使用するデータベース アカウントを、インスタンスの各データベースの NSRunService ロールに追加します。
ホストされるイベント プロバイダ、ジェネレータ、およびディストリビュータを複数のコンピュータにスケールアウトしている場合は、各コンピュータにそれぞれ独自のエンジンがあります。より限定的なデータベース ロールを使用することによって、各エンジンに許可する権限を最小限に抑えることができます。
- イベント プロバイダのデータベース アカウントは、NSEventProvider データベース ロールに属している必要があります。
- ジェネレータのデータベース アカウントは、NSGenerator データベース ロールに属している必要があります。
- ディストリビュータのデータベース アカウントは、NSDistributor データベース ロールに属している必要があります。
NSRunService データベース ロールは、上記のロールのスーパーセットです。
インスタンスの各データベースに対するデータベース権限を許可する必要があります。インスタンスでは、インスタンスとアプリケーションのすべてのデータに対して 1 つのデータベースを使用することも、複数のデータベースを使用することもできます。カスタム データベース名は、インスタンス構成とアプリケーション定義で指定します。データベース名を指定しない場合、既定のインスタンス データベース名は instanceNameNSMain、既定のアプリケーション データベース名は instanceName + applicationName です。
SQL Server とデータベースのセキュリティを管理する方法
SQL Server のログイン アカウントの作成、データベースのユーザー アカウントの作成、およびデータベース ロールへのユーザーの追加の詳細については、以下のトピックを参照してください。
- Notification Services のインスタンスにデータベース権限を許可する方法
- CREATE LOGIN (Transact-SQL)
- CREATE USER (Transact-SQL)
- sp_addrolemember (Transact-SQL)
参照
概念
Notification Services エンジンのホスト
Notification Services のインスタンスの Windows アカウントの構成
Notification Services データベース ロール