在 SQL 2008 中,有没有一种方法可以指定 service_broker_guid 而不是简单地获取通过以下方式提供给您的任何 GUID:
ALTER DATABASE MyDB SET NEW_BROKER
我们当前的(在我看来是破碎的)发布方法是恢复两个具有相互依赖关系的数据库。一种是“源”数据库,一种是星型 BI 数据库。回归测试计划的一部分是将两个数据库的备份恢复为“黄金”状态,跨越不同的服务器,甚至是同一台服务器。
我们通常不会在我们的路线中包含 BROKER_INSTANCE 变量,因为大多数地方,我们不需要它们(即 SERVICE_NAME 和 ADDRESS 的组合足以保证交付)。但是,当我们在同一个实例上运行 2 个数据库时都启用了代理,其中一个数据库将需要一个新的 BROKER_ID。此外,到这些数据库的所有路由现在都需要一个 BROKER_INSTANCE 限定符,因为在同一个 ADDRESS 上有 2 个 SERVICE_NAME。
我们使用 Visual Studio Database Professional 来生成我们的构建输出脚本,并且没有简单的方法来包含 BROKER_INSTANCE 作为其 SQLCMD 变量替换技术的一部分,除非您事先知道它。