本演练说明如何为 Notification Services 实例部署非宿主事件提供程序。 如果非宿主事件提供程序位于未运行 Notification Services 引擎组件的服务器上,可使用下列部署步骤。
![]() |
---|
Notification Services 的所有部署都是唯一的。请将本主题中的过程用作指南,开发和测试您自己的部署指令。 |
必备项
部署某个非宿主事件提供程序前,请确保已安装了该非宿主事件提供程序,并向该事件提供程序使用的帐户授予了所有必需的 Microsoft Windows 权限。为实现本演练的目的,非宿主事件提供程序使用的帐户为 DOMAIN\EventProvider Windows 帐户。
还需要验证 数据库引擎 是否启用了 TCP/IP 或命名管道网络协议。在 SQL Server 2005 中,默认情况下,禁用这些网络协议。有关详细信息,请参阅 SQL Server 外围应用配置器。
非宿主事件提供程序服务器任务
在非宿主事件提供程序服务器上执行以下步骤。但是,如果非宿主事件提供程序位于已注册了该实例的服务器上,则可以在该服务器跳过这些步骤。
步骤 1:安装 Notification Services 客户端组件
安装 Notification Services 客户端组件。
有关详细信息,请参阅安装 SQL Server Notification Services。
步骤 2:注册 Notification Services 实例
在**“开始”菜单上,依次指向“所有程序”、“Microsoft SQL Server 2005”、“Notification Services”,再单击“Notification Services 命令提示”**以打开Notification Services 命令提示符窗口。
键入下面的命令来注册实例且不创建 Windows 服务。
nscontrol register -name instanceName -server databaseServer
SQL Server 任务
必须向 DOMAIN\EventProvider 帐户授予 SQL Server 和数据库权限。如果将 SQL Server 客户端组件安装在了非宿主事件提供程序服务器上,可在该服务器上执行这些步骤。
授予 SQL Server 和数据库权限
打开命令提示符窗口。
在命令提示符处,键入下面的命令来为 DOMAIN\EventProvider 帐户创建 SQL Server 登录:
sqlcmd -E -S databaseServer -Q "CREATE LOGIN [DOMAIN\EventProvider] FROM WINDOWS;"
键入下面的命令,授予 DOMAIN\EventProvider 帐户访问实例数据库的权限,并将该帐户添加到 NSEventProvider 数据库角色中:
sqlcmd -E -SdatabaseServer-Q "USEinstanceDatabase;
** CREATE USER [DOMAIN\EventProvider];**
** EXEC sp_addrolemember N'NSEventProvider', N'DOMAIN\EventProvider';"**
如果应用程序具有单独的数据库,则键入下面的命令,授予 DOMAIN\EventProvider 帐户访问应用程序数据库的权限,并将该帐户添加到 NSEventProvider 数据库角色中:
sqlcmd -E -S databaseName -Q "USE applicationDatabase
** CREATE USER [DOMAIN\EventProvider];**
** EXEC sp_addrolemember N'NSEventProvider', N'DOMAIN\EventProvider';"**
如果实例承载了多个应用程序,则为每个应用程序数据库重复此步骤。
现在您已经部署了非宿主事件提供程序。应该能够向通知应用程序提交事件了。
疑难解答
如果无法提交事件,请从 Notification Services 命令提示符运行下面的命令来检查实例状态:
nscontrol status-name instanceName
验证是否已启用了 Notification Services 实例及其应用程序。有关详细信息,请参阅查看实例、应用程序和组件的状态。
此外,还要检查 Windows 应用程序日志中是否包含错误。有关详细信息,请参阅 对 Notification Services 进行故障排除。
请参阅
概念
部署 Notification Services 实例
部署非宿主事件提供程序
部署订阅管理界面