配置 Notification Services Windows 服务

在定义 Notification Services 应用程序时,指定运行每个宿主事件提供程序、生成器和分发服务器的服务器。部署 Notification Services 的实例时,应在运行一个或多个这些组件的每台服务器上安装 Notification Services 引擎。通常,该引擎为 NS$instanceName Microsoft Windows 服务(在注册 Notification Services 的实例时安装)。本主题介绍如何对 NS$instanceName Windows 服务配置启动和安全设置。

如果您不想使用 Windows 服务来运行该引擎,则可以使引擎驻留在另一个应用程序或进程中。有关详细信息,请参阅宿主 Notification Services 引擎

配置 Windows 服务启动设置

您可以将 NS$instanceName Windows 服务配置为在计算机启动时自动启动。如果由于某种原因造成 Windows 服务停止,该服务还会尝试自动重新启动。

ms172502.note(zh-cn,SQL.90).gif重要提示:
NS$instanceName Windows 服务要求启动数据库引擎。如果未启动数据库引擎 的实例,则 NS$instanceName Windows 服务将尝试启动,但之后会失败。由于数据库可位于远程服务器上,因此 NS$instanceName 服务中不会内置依赖关系检查。

配置服务安全性

每个 NS$instanceName Windows 服务均在 Windows 帐户的上下文中运行,该帐户可以是域帐户、本地帐户或内置帐户(如网络服务帐户)。为此帐户授予在注册实例时作为服务进行登录所必需的权限。此外,此帐户或与该服务关联的 Microsoft SQL Server 登录帐户还必须具备适当的数据库权限;否则,该服务将不会启动。

  • 在使用 Windows 身份验证时,必须通过向 NS$instanceName Windows 服务帐户授予数据库引擎 登录权限、向该帐户授予访问实例和应用程序数据库的权限、向这些数据库中适当的数据库角色(NSEventProviderNSGeneratorNSDistributorNSRunService)添加该帐户,将数据库权限分配给该帐户。
    请注意,在使用 Windows 身份验证时,创建 Notification Services 实例的用户即为数据库所有者 (dbo)。默认情况下,此用户对该数据库具有所需的所有权限。但是,Microsoft 建议对 NS$instanceName Windows 服务使用单独的帐户,这样有助于提高安全性。
  • 如果您不能使用 Windows 身份验证,则必须在注册该实例时将 SQL Server 登录名和密码分配给 Windows 服务。该 SQL Server 登录帐户必须存在、必须被授予访问实例和应用程序数据库的权限,而且必须已添加到这些数据库中相应的数据库角色(NSEventProviderNSGeneratorNSDistributorNSRunService),以限制 Windows 服务的权限。
    如果使用同一个 SQL Server 登录帐户来创建数据库并注册实例,则此帐户即为数据库所有者 (dbo),并在实例和应用程序数据库中具有所需的所有权限。但是,Microsoft 建议对 NS$instanceName Windows 服务使用单独的登录名,以限制 Windows 服务的权限。

指定在注册该实例时服务所使用的 Windows 或 SQL Server 登录帐户。若要更改安全帐户,必须重新注册该实例或在 Windows“控制面板”的 SQL Server 配置管理器或服务中更改服务属性。

在将 Windows 服务帐户添加到数据库角色时,请使用所具备的特权符合、但未超过Windows 服务要求的角色:

ms172502.note(zh-cn,SQL.90).gif注意:
并非所有组件均在所有服务器上运行。如果您跨多台计算机扩展 Notification Services 的实例,则某些服务器可能仅运行一个组件。
  • NSEventProvider 数据库角色可授予相应的权限来提交事件。如果 Windows 服务运行宿主事件提供程序,则使该帐户成为此角色的成员。
  • NSGenerator 数据库角色可授予相应的权限来运行生成器。如果 Windows 服务运行生成器,则使该帐户成为此角色的成员。
  • NSDistributor 数据库角色可授予相应的权限来分发通知。如果 Windows 服务运行分发服务器,则使该帐户成为此角色的成员。
  • NSRunService 数据库角色包含 NSEventProviderNSGeneratorNSDistributor 角色。如果 Windows 服务运行宿主事件提供程序、生成器和分发服务器,则使该帐户成为此角色的成员。

有关配置 Notification Services 安全性的信息,请参阅保护 Notification Services 的安全

有关各种配置的逐步部署指导,请参阅部署 Notification Services

为 NS$instanceName Windows 服务设置安全帐户

请参阅

概念

保护 Notification Services 的安全
启动和停止 Notification Services 实例
启用和禁用实例、应用程序或组件
Notification Services 数据库角色

其他资源

管理 Notification Services

帮助和信息

获取 SQL Server 2005 帮助