如何授予对 Notification Services 实例的数据库权限

本过程演示如何向 Notification Services 引擎使用的帐户(通常为 NS$instanceName Microsoft Windows 服务)授予数据库权限,以便访问 SQL Server。所用的帐户可以是 Windows 帐户,也可以是 SQL Server 登录帐户。本过程假设已向帐户授予了登录 SQL Server 的权限。

ms166397.note(zh-cn,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 帮助