SQL Service Broker - 通信场景 - 从 SQL 2008 R2 迁移到 SQL 2014

SQL Service Broker - communication scenario - migration from SQL 2008 R2 to SQL 2014

总结: SQL Server 2014(与 2008 R2 相比)是否有任何新内容不允许出现以下情况?同样的做法可以转移到新服务器吗?

该应用程序使用 SQL Service Broker 从卫星 SQL Express 机器(技术计算机,现在两台,很快 4 台,可能更多)收集数据到中央 SQL 服务器SQL 服务器标准版。

它基于简化的安全设置,无需交换证书。我被要求将解决方案从 SQL Server 2008 R2 迁移到 SQL Server 2014。

SQL Service Broker -- one central SQL and more satelite SQL... beginner wants to understand details and the solution was based on the Remus Rusanu's answer 中详细描述了这种情况。

是的。从 2005 年到 2014 年(含)的所有 SQL 服务器版本都是 compatible with each other at the Service Broker 层。事实上,2008 年的实例甚至无法弄清楚它们正在与 2014 年对话。

您应该能够一次迁移一台机器,w/o 删除所有内容。如果就地升级(保持机器名称相同并保留 SSB 端点设置),那么升级后您无需更改任何内容,它应该继续工作。

如果进行并行升级,则必须将使用的 SSB 端点设置和证书从一个实例移植到另一个实例,同时移动数据库。

请记住,如果您遇到问题并且被迫回滚到备份,那么您的整个分布式系统状态将不一致(基本上对话将不再匹配发送序列号和接收序列号) 并且您可能不得不强制进行一些密切的对话(根据具体情况手动结束 ... WITH CLEANUP)或核对数据库中的整个代理(ALTER DATABASE ... SET NEW_BROKER)。希望您不必这样做。如果可行,那么您可以简单地停止整个系统(例如 运行 ALTER ENDPOINT ... STATE = STOPPED 在所有 3 个节点上停止所有 SSB 通信)然后进行备份然后进行升级,现在可以安全地回滚升级和恢复,因为一切都是 'frozen'。