发布
社区首页 >问答首页 >Server镜像故障转移期间回滚事务

Server镜像故障转移期间回滚事务
EN

Database Administration用户
提问于 2017-10-26 20:09:43
回答 2查看 250关注 0票数 2

我已经为生产环境安装了两个具有高安全性镜像的Server 2014实例。我需要在这些服务器上定期应用安全补丁,这需要重新启动。

我的典型流程是应用补丁来镜像和重新启动。然后触发故障转移以镜像并将补丁应用于另一台服务器。重新启动,然后失败。

我的问题是,每个故障转移都有一些未提交的事务回滚,这对生产环境确实不好。我不知道哪些事务被回滚了,也不知道我正在遭受什么样的数据丢失。但是我需要重新启动这些服务器并应用补丁。如果我没有数据丢失容忍度,我的选择是什么?

EN

回答 2

Database Administration用户

回答已采纳

发布于 2017-10-26 20:17:20

在完全安全模式下,如果在飞行中没有事务,那么最好在不丢失数据的情况下这样做。在重新启动之后,您是否在等待状态从同步更改为同步?不过,我的猜测是,当您执行故障转移时,应用程序用户在其中。

如果应用程序仍在连接,数据仍在修改,那么就会有交易在运行,这就是您必须付出的代价。最好是找个窗口,然后停止访问。关闭访问SQL等的站点或应用程序。

票数 1
EN

Database Administration用户

发布于 2017-10-26 20:15:08

您需要禁用服务器上的登录(S),等待所有正在进行的事务完成,然后执行故障转移。

或者,您需要重写客户端代码以了解何时发生回滚,并等待/重试直到它们能够成功地完成事务。

虽然镜像故障转移非常快,但在运行中的事务不能在BEGIN TRANSACTIONCOMMIT TRANSACTION之间从一台服务器移动到另一台服务器。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/189443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档