如果我正在开发一个可以使用SQL Server群集的环境,那么我应该注意什么(如果有的话)?
从我所看到的,我应该处理数据库操作的异常,并有两个选项:
这是对的吗?这就是我需要做的全部吗?
这是一个ASP.NET应用程序,但我认为这不会对该方法产生巨大影响。
任何建议都将不胜感激
邓肯
答案 0 :(得分:3)
只需重试连接即可。当一个实例处于故障转移的中间并且我们的应用程序打开了一个连接时,会发生以下情况:
在这种情况下,您只需要尝试重试连接。如果您的SQL服务器通常响应很快,您可以尝试将连接代码包装在数据库调用超过30秒后的类中,但在类中,使用较短的超时并重试几次。这将使您的应用程序只在一次调用时生成,并允许内部连接时间在需要时进行故障转移。
网络名称和IP地址的转换是无缝的,因此如果发生故障转移,您无需进行任何特殊的恢复 - 只需重新连接并保持快速。但请记住,任何进程内事务都将被回滚,因此如果在发生断开连接时有任何正在运行的事情,则需要在新节点上重新提交它。