演练:远程数据库服务器部署

本部署演练显示当数据库位于远程服务器上时如何部署 Notification Services 实例。本部署方案比单个服务器部署方案可扩展性更好,是适用于中大型应用程序的优秀解决方案。

ms171337.note(zh-cn,SQL.90).gif注意:
所有的 Notification Services 部署都是唯一的。可使用本主题中的过程作为开发和测试部署的指导指南。

下图显示了本部署方案的硬件配置。本方案使用两个服务器:NS1SQL1。您可以在 NS1 上安装 Notification Services,在 SQL1 上安装数据库引擎。

远程服务器配置

NS1 运行 Notification Services 引擎组件并具有一个或两个磁盘驱动器,该服务器上驱动器的数量不是关键因素。SQL1 承载实例和应用程序数据库。SQL1 具有多个磁盘驱动器,分别用于数据库文件、日志文件、tempdb 以及数据库引擎,从而提高了数据库的性能。

必备项

在部署 Notification Services 实例之前,请确保满足下列所有的前提条件:

  • NS1 已安装了操作系统,并且应用了所有可用的 Service Pack 和更新。
  • SQL1 已安装了 Microsoft Windows 和 Microsoft SQL Server 2005 数据库引擎,并且应用了所有可用的 Service Pack 和更新。
  • 您正在使用对该服务器具有管理权限的帐户来运行这些过程。
  • 您或您的域管理员已创建或指定了 Notification Services 要使用的帐户。在这些指导中,此帐户为 DOMAIN\NSService。
  • 您已创建了源文件和数据文件的任何必要文件共享,并已授予了您的帐户以及 DOMAIN\NSService 帐户必要的权限。
  • 已在数据库引擎 上启用了 TCP/IP 或 Named Pipes 网络协议。在 SQL Server 2005 中,默认情况下禁用这些网络协议。有关详细信息,请参阅 SQL Server 外围应用配置器

部署概述

在本部署演练中,您将在 NS1(运行 Notification Services 引擎的服务器)上执行下列操作:

  1. 安装 Notification Services。
  2. 授予 NSService 帐户 Windows 权限。
  3. 创建和启用 Notification Services 实例。
  4. 注册 Notification Services 实例,这样可创建运行 Notification Services 引擎组件的 Windows 服务。
  5. 当您准备开始生成通知时,请启动 Notification Services 实例。

您将在 SQL1(承载数据库的服务器)上执行下列操作:

  • 授予 Windows 帐户数据库权限。
    ms171337.note(zh-cn,SQL.90).gif注意:
    Notification Services 还支持 SQL Server 身份验证。 请尽可能使用 Windows 身份验证。

下面的指导使用 Notification Services 命令提示符显示如何编写部署脚本。您还可以使用 SQL Server Management Studio 部署 Notification Services 实例。有关使用 SQL Server Management Studio 的单个服务器部署指导,请参阅 SQL Server Notification Services 示例

NS1 任务

在服务器 NS1 上执行下列步骤以创建、注册和启用 Notification Services 实例。

步骤 1:安装软件

  1. 安装 Notification Services。您可以安装其他组件,但是本演练的步骤中不需要这些组件。

    有关安装组件的详细信息,请参阅安装 SQL Server Notification Services

步骤 2:授予 DOMAIN\NSService 帐户 Windows 权限

  1. 在**“开始”菜单上,依次指向“所有程序”Microsoft SQL Server 2005Notification Services,然后单击“Notification Services 命令提示符”**以打开 Notification Services 命令提示符窗口。

  2. 将 DOMAIN\NSService 帐户添加到本地 Users 组。在命令提示符下,键入以下 net localgroup 命令:

    net localgroup users DOMAIN\NSService /add

    有关将帐户添加到本地组的详细信息,请参阅 Windows 文档。

步骤 3:创建并启用 Notification Services 的实例

  1. 在命令提示符下,键入以下命令以创建实例和应用程序数据库:

    nscontrol create -in "Path\ICFName"

    根据 ICF 的不同,您可能需要提供其他的命令提示符参数。

  2. 键入以下命令以启用实例:

    nscontrol enable -nameinstanceName-serverdatabaseServer

    引擎组件处于“启用挂起”状态,因为尚未安装和启动 Notification Services 引擎。

    如果您在注册实例之后启用该实例,则可以省略 -server 参数。

步骤 4:注册 Notification Services 实例

  1. 在命令提示符下键入以下命令:

    nscontrol register -nameinstanceName-serverdatabaseServer-service

        -serviceusername DOMAIN\NSService

        -servicepassword"password"

    当该命令完成后,本地计算机上便会出现名为 NS$instanceName 的 Windows 服务。

ms171337.note(zh-cn,SQL.90).gif注意:
如果您使用 SQL Server 身份验证,则请在注册实例时提供 SQL Server 身份验证登录和密码,然后授予该登录一定的权限。

现在,您已完成了在服务器 NS1 上执行的任务。

SQL1 任务

您必须授予 Notification Services 引擎 SQL Server 权限和数据库权限。如果 NS1 已安装了 SQL Server 工作站组件,则可以在 NS1 上执行这些步骤。

步骤 1:授予 SQL Server 和数据库权限

  1. 打开命令提示符窗口。

  2. 在命令提示符下,键入以下命令以创建 DOMAIN\NSService 帐户的 SQL Server 登录:

    sqlcmd -E -SdatabaseServer-Q "CREATE LOGIN [DOMAIN\NSService] FROM WINDOWS;"

  3. 键入以下命令以授予 DOMAIN\NSService 帐户访问实例数据库的权限,并将此帐户添加到 NSRunService 数据库角色中:

    sqlcmd -E -SdatabaseServer-Q "USEinstanceDatabase**;**

    CREATE USER [DOMAIN\NSService];

    EXEC sp_addrolemember N'NSRunService', N'DOMAIN\NSService';"

  4. 如果您具有独立的应用程序数据库,则键入以下命令以授予 DOMAIN\NSService 帐户访问应用程序数据库的权限,并将此帐户添加到 NSRunService 数据库角色中:

    sqlcmd -E -SdatabaseServer-Q "USEapplicationDatabase**;**

    CREATE USER [DOMAIN\NSService];

    EXEC sp_addrolemember N'NSRunService', N'DOMAIN\NSService';"

    如果实例承载多个应用程序,则对每个应用程序数据库重复此步骤。

现在,便完成了 Notification Services 实例的部署。您应当能够加载订阅方数据和订阅数据并将事件提交到应用程序。Notification Services 只有在启动 Windows 服务之后才能处理数据。下面将讨论启动 Windows 服务。

启动 Notification Services 实例

当您准备好实例来开始生成通知时,请启动 Windows 服务。在服务器 NS1 上,打开命令提示符窗口并键入以下命令:

**net start NS$**instanceName

有关详细信息,请参阅启动和停止 Notification Services 实例

疑难解答

如果您的应用程序没有生成通知,则请检查实例的状态,方法是在 Notification Services 命令提示符下键入以下命令:

nscontrol status-name instanceName

确保所有的组件都运行在期望的服务器上,并都处于启用状态。有关详细信息,请参阅查看实例、应用程序和组件的状态

您还可以检查 Windows 应用程序日志是否出现错误。有关详细信息,请参阅对 Notification Services 进行故障排除

请参阅

概念

部署 Notification Services 实例
部署非宿主事件提供程序
部署订阅管理界面

其他资源

nscontrol create 命令
nscontrol enable 命令
nscontrol register 命令
sqlcmd 实用工具

帮助和信息

获取 SQL Server 2005 帮助