Sql server ServiceBroker错误处理模拟
我现在在一个项目中工作,在这个项目中,应该使用服务器代理功能将多个姿势同步到主服务器。现在,我为这个解决方案准备了错误处理,并想向客户展示它是如何工作的。这意味着我将为每种错误准备测试脚本,客户端在测试POS上运行它,以查看是否正确处理了错误 我们将使用SQL Server 2008R2,其中毒药消息=关闭 messagetype=XML(但内部可以是不同类型的数据,某些节点将包含blob) 姿势将在domen之外,因此运输将受到保护(但没有对话框加密) 我将错误分为几个子组:Sql server ServiceBroker错误处理模拟,sql-server,service-broker,Sql Server,Service Broker,我现在在一个项目中工作,在这个项目中,应该使用服务器代理功能将多个姿势同步到主服务器。现在,我为这个解决方案准备了错误处理,并想向客户展示它是如何工作的。这意味着我将为每种错误准备测试脚本,客户端在测试POS上运行它,以查看是否正确处理了错误 我们将使用SQL Server 2008R2,其中毒药消息=关闭 messagetype=XML(但内部可以是不同类型的数据,某些节点将包含blob) 姿势将在domen之外,因此运输将受到保护(但没有对话框加密) 我将错误分为几个子组: 逻辑错误(例如,
- 是否还有其他错误类型
- 描述的#2错误处理逻辑足够好吗
- 如何处理和模拟#3
- 可恢复的:传输问题,大多数配置错误,如路由错误,无法访问服务器。所有这些都不会导致SSB错误,而是导致延迟。消息将停留在传输队列中,期望问题是暂时的并且可以解决,包括一些配置问题。问题解决后,SSB将重试,并发送消息
- 不可恢复:这些是SSB认为不可恢复的问题,例如错误的消息格式。在这种情况下,会话将中止,并且两个端点都会收到错误消息
正如关于如何模拟损坏的消息的主题:很难模拟(您可以尝试设置一个端口转发器,让所有流量通过,但随机损坏其中一些流量),但这是毫无意义的。所有SSB流量,即使是明文,都是经过加密签名的,任何消息损坏都会由于消息签名验证失败而导致突然断开连接。我认为从应用程序的角度来看,无限接收(可能的性能问题)比禁用队列和关闭同步危害更小。计划的作业将关闭所有过期的对话,因此此进程将不是无限的。你怎么认为?