移动 Service Broker 应用程序

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

数据库包含应用程序的 Service Broker 对象、存储过程、证书、用户及应用程序的外发路由。这些内容将随数据库一起移动:

  • 您必须用应用程序使用的登录名为用户配置登录名。
  • 由于证书包含在证书创建时所在的数据库中,因此移动数据库时将保留证书。
  • 大多数 Service Broker 数据库都有数据库主密钥。在新位置附加数据库时必须使用主密钥的密码。

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

CREATE DATABASE 命令和 ALTER DATABASE 命令中包含的选项可以激活还原后的数据库中的 Service Broker 消息传递以及设置不同的 Broker 实例标识符。Broker 实例标识符一次只应由网络上的一个数据库使用。通常,如果希望还原的数据库备份与原始数据库相同,请不要更改实例标识符。例如,因下列原因需要附加数据库时,请不要更改 Broker 实例标识符:

  • 用于恢复目的。
  • 需要创建镜像对。
  • 需要为备用服务器配置日志传送。

在制作数据库的副本时,请更改 Broker 实例标识符,或确保 Service Broker 消息传递处于不活动状态。有关附加数据库的选项的详细信息,请参阅 CREATE DATABASE (Transact-SQL)ALTER DATABASE (Transact-SQL)。有关如何激活数据库中 Service Broker 消息传递的说明,请参阅如何在数据库中激活 Service Broker 消息传递 (Transact-SQL)

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

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

请参阅

任务

如何在数据库中激活 Service Broker 消息传递 (Transact-SQL)

概念

路由
Service Broker 路由

其他资源

ALTER DATABASE (Transact-SQL)
ALTER ROUTE (Transact-SQL)
CREATE DATABASE (Transact-SQL)
CREATE ENDPOINT (Transact-SQL)
将数据库复制到其他服务器

帮助和信息

获取 SQL Server 2005 帮助