如何更新对 BAM 通知服务数据库的引用

执行将业务活动监视(BAM)通知服务数据库还原到目标系统所需的步骤后,必须在运行通知服务的 BizTalk Server 组中的所有计算机上重新注册通知服务(NSservice.exe)。 这使通知服务能够连接到其新位置中的数据库。

注册通知服务的实例会创建 NS$instance_name 服务,在本地服务器上创建性能计数器,并将信息添加到注册表。 必须在以下服务器上注册实例:

  • 运行 NS$instance_name 服务的每个服务器。 该服务运行事件提供程序主机、生成器和分发器组件。 对于横向扩展配置,服务在多个服务器上运行。

  • 运行订阅管理应用程序的每台服务器。 如果订阅管理应用程序在其自己的服务器上运行,则注册实例时不要创建 NS$instance_name 服务。

  • 运行独立事件提供程序的每个服务器。 如果独立事件提供程序在其自己的服务器上或数据库服务器上运行,则注册实例时不要创建 NS$instance_name 服务。

    如果数据库服务器不同时运行通知服务实例或客户端组件,请不要在此服务器上注册该实例。

先决条件

  • 必须以管理员组的成员身份登录才能执行此过程。

  • 必须在您还原 BAM 通知服务数据库的计算机上安装用于 SQL 通知服务的商业活动监视 (BAM) 警报提供程序。

更新对 BAM 通知服务数据库的引用(SQL Server 2008 R2/SP1)

  1. 单击“开始” ,再单击“运行” ,键入 cmd,然后单击“确定”

  2. 在命令提示符下,导航到以下目录:\Program Files (x86)\Microsoft BizTalk Server <VERSION>Tracking。

  3. 类型: bm.exe get-config –filename:config.xml

    注释

    在支持用户帐户控制(UAC)的系统上,可能需要使用管理权限运行该工具。

  4. 打开在步骤 2 中创建的 xml 文件,以获取必须重新注册通知服务的计算机的列表。

    计算机名称列在 <属性名称=>参数中,位于 xml 文件的 <DeploymentUnit Name="Alert"> 部分:

    -<DeploymentUnit Name="Alert">  
    <Property Name="GeneratorServerName" />  
    <Property Name="ProviderServerName" />  
    <Property Name="DistributorServerName" />  
      </DeploymentUnit>  
    
  5. 在 xml 文件中列出的每台计算机上,停止 NS 服务,然后注销通知服务的实例:

    1. 依次单击“ 开始”、“ 程序”、“ MICROSOFT SQL Server 2008 R2”、“ 配置工具”,然后单击“ 通知服务命令提示符”。

    2. 在命令提示符下,键入: net stop NS$BamAlerts

    3. 键入以下命令以取消注册实例:

      nscontrol unregister -name BamAlerts

      取消注册实例会删除注册表项,删除 NS$instance_name 服务(如果存在),并删除服务的性能计数器。

  6. 重新注册通知服务:

    1. 依次单击“ 开始”、“ 程序”、“ MICROSOFT SQL Server 2008 R2”、“ 配置工具”,然后单击“ 通知服务命令提示符”。

    2. 在命令提示符下,键入:nscontrol register -name BamAlerts -server<ServerName>-service -serviceusername "<ServiceUserName>" -servicepassword "<ServicePassword>"

      这使通知服务能够登录到正确的数据库(此信息由 nscontrol 保留在服务计算机的注册表中)。

      重要

      在重新注册服务时,请记得在 -server 选项中使用新的 Notification Services 数据库服务器。 此外,应为新的通知服务服务使用与旧通知服务相同的用户名。

  7. 在托管 BAM 门户的计算机上,依次单击“ 开始”、“ 程序”、“ Microsoft SQL Server 2008 R2”、“ 配置工具”,然后单击“ 通知服务命令提示符”。

  8. 在命令提示符下,键入:

    net stop NS$BamAlerts

  9. 在命令提示符下,键入:

    nscontrol unregister -name BamAlerts

  10. 在命令提示符下,键入:

    nscontrol register -name<BamAlerts>-server<NotificationServicesDatabaseServer>

  11. 在命令提示符下,键入: net start NS$BamAlerts

  12. 单击“开始” ,再单击“运行” ,键入 cmd,然后单击“确定”

  13. 在命令提示符下,导航到以下目录:\Program Files (x86)\Microsoft BizTalk Server <VERSION>Tracking。

  14. 在命令提示符下,键入:

    bm.exe update-config –FileName:config.xml

    注释

    在支持用户帐户控制(UAC)的系统上,可能需要使用管理权限运行该工具。

另请参阅

备份和还原 BAM