错误1:#
服务器
故障转移后,
运行事务继续
执行 这当然是错误的!
每一个故障转移是伴随着某种形式的复苏。但当交易执行没有提交,或该服务器实例崩溃造成断线,SQL Server无法重新建立在交易故障转移服务器上下文后,继续执行事务-无论你使用故障转移
模式设置,镜子,日志传送或是
复制。
对于故障转移群集,当发生故障转移时,SQLServer实例开始于另一个故障转移群集的节点。所有实例上的所有数据库都必须经过
恢复阶段,即所有未提交的事务都回滚。
对于数据库
镜像,从主服务器的日志不断传送到镜像服务器进行重做
操作,当镜像服务器切换到主服务器时,原始镜像服务器的事务日志将恢复模式,使原始镜像服务器崩溃。之后,所有
连接将导致原始镜像服务器。
事务日志,事务日志是一个常规备份,并
传输到辅助服务器。当主服务器崩溃时,根据DBA的恢复
顺序将有助于服务器恢复上线。但最后一步是执行恢复
步骤,回滚不会有提交事务。
对于SAN复制,
本地SAN I/O被复制到远程SAN进行回放。当故障转移发生时,
系统将连接到远程SAN,但数据库仍然需要执行恢复步骤,这与故障转移群集非常类似。
使执行事务在故障发生后继续执行的唯一技术是具有实时迁移
功能的虚拟化技术,因为连接本身不知道连接到它的对象已更改到另一个物理服务器。
但是,不管使用什么技术,如果连接失败,执行的事务将丢失,因此这部分
处理这些问题的
工作需要使用代码在代码中实现某种重新执行功能。