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

Sql server SQL Service Broker-通信场景-从SQL 2008 R2迁移到SQL 2014,sql-server,sql-server-2008-r2,sql-server-2014,service-broker,Sql Server,Sql Server 2008 R2,Sql Server 2014,Service Broker,摘要:SQL Server 2014(与2008 R2相比)中是否有不允许以下情况的新功能?是否可以将相同的方法传输到新服务器 该应用程序使用SQL Service Broker从卫星SQL Express计算机(技术计算机,现在有两台,很快将有4台,可能还有更多)收集数据,并使用SQL Server标准版将数据传输到中央SQL Server 它基于简化的安全设置,无需交换证书。我被要求将解决方案从SQL Server 2008 R2迁移到SQL Server 2014 在中详细描述了情况,解决

摘要:SQL Server 2014(与2008 R2相比)中是否有不允许以下情况的新功能?是否可以将相同的方法传输到新服务器

该应用程序使用SQL Service Broker从卫星SQL Express计算机(技术计算机,现在有两台,很快将有4台,可能还有更多)收集数据,并使用SQL Server标准版将数据传输到中央SQL Server

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


在中详细描述了情况,解决方案基于。

是。从2005年到2014年,所有SQL Server版本都是分层的。事实上,2008年的例子甚至无法算出他们在谈论2014年

您应该能够一次迁移一台机器,而不需要删除所有内容。如果升级不到位(保持机器名称不变并保留SSB端点设置),那么升级后您不必更改任何内容,它应该继续工作

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


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

实际上,需要停止机制的情况对我来说并不重要。如果需要,我有脚本(由模板生成)要停止发送数据,请卸载所有内容,然后重新安装。无论如何,我将研究ALTER ENDPOINT以停止对话。一个问题是,消息是通过触发器发送的。如果机制停止,我将无法获取较旧的传感器数据。这几天才发生。不,如果停止ENDPOINT触发器,则可以继续发送结束。触发器可以很高兴地发出SEND,它会工作。数据将在
sys.transmission_queue
中累积。当您恢复通信时,传输队列将耗尽,所有累积的数据都将被发送。您只需确保累积的数据不超过快速10GB限制。我曾经让一个系统离线42 days(坏的网络配置),然后它恢复并传输所有挂起的内容。迁移后我遇到了一个问题。目标SQL获取数据,并将其收集到队列中。但是,附加过程未激活。请查看