迁移 (Service Broker)

迁移 Service Broker 应用程序的一般步骤是将包含该应用程序的数据库移到另一个数据库引擎实例中。Service Broker 应用程序的许多相关内容都将随数据库一起移动。应用程序的某些相关内容必须在新位置重新创建或重新配置。

数据库包含应用程序的 Service Broker 对象、存储过程、证书、用户及应用程序的外发路由。这些内容将随数据库一起移动。大多数 Service Broker 数据库都有数据库主密钥。在新位置附加数据库时,必须使用主密钥的密码。

移动数据库后,必须执行下列操作:

  • 配置所需的所有登录名。

  • 用要移动的服务更新启动会话的服务。在包含要移动的服务的路由的每个数据库中,更改该路由以使用新的网络地址。

  • 使用 CREATE DATABASE 或 ALTER DATABASE 语句激活还原后的数据库中的 Service Broker 消息传递,并设置不同的 Broker 实例标识符。Broker 实例标识符一次只应由网络上的一个数据库使用。通常,如果希望还原的数据库备份与原始数据库相同,请不要更改实例标识符。例如,因下列任何一个原因而需要附加数据库时,请不要更改 Broker 实例标识符:

    • 需要恢复数据库

    • 需要创建镜像对。

    • 需要为备用服务器配置日志传送。

  • 传入消息的路由不包括在包含该服务的数据库中。如果服务使用 msdb 数据库中的显式路由将传入的消息路由到该服务,则在将数据库附加到其他实例时,必须重新创建此路由。

  • Service Broker 端点和传输安全机制应用于整个实例,而不是特定的数据库。将数据库附加到新实例不影响该实例的端点或传输安全模式。如果服务通过网络发送或接收消息,则必须确保新实例具有 Service Broker 端点。您还必须确保按应用程序的要求配置该实例的传输安全机制。

移动数据库后,可以通过运行 ssbdiagnose 实用工具来检查 Service Broker 错误。有关详细信息,请参阅 ssbdiagnose 实用工具