次の方法で共有


Notification Services のインスタンスにデータベース権限を許可する方法

この手順では、Notification Services エンジン (通常は NS$instanceName Microsoft Windows サービス) が SQL Server へのアクセスに使用するアカウントにデータベース権限を許可する方法を示します。使用できるアカウントは、Windows アカウントまたは SQL Server ログイン アカウントのいずれかです。この手順は、SQL Server にログインするための権限がアカウントに既に許可されていることを前提にしています。

ms166397.note(ja-jp,SQL.90).gifメモ :
既定のインスタンス データベース名は、instanceNameNSMain です。既定のアプリケーション データベース名は、instanceName + ApplicationName です。ただし、SQL Server 2005 では、インスタンス構成とアプリケーション定義でデータベース名を指定できます。

データベース権限を許可するには

  1. SQL Server Management Studio オブジェクト エクスプローラで、[データベース] を展開します。

  2. インスタンス データベースと各アプリケーション データベースで次の操作を行います。

    1. データベースを展開します。
    2. [セキュリティ] フォルダを右クリックし、[新規作成] をポイントして、[ユーザー] を選択します。
    3. [ユーザー名] ボックスに、データベース ユーザーの名前を入力します。
    4. [ログイン名] ボックスに、ログインの名前を入力します。
      ログイン名は、SQL Server のインスタンスの既存のログイン名と完全に一致する必要があります。ログイン名を検索する場合は、[検索] をクリックします。
    5. [データベース ロールのメンバシップ] ボックスで、適切なデータベース ロールを選択します。
      ホストされるイベント プロバイダがエンジンで実行される場合は、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)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手