sql server 镜像 主节点异常 镜像节点会提供服务吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server 镜像 主节点异常 镜像节点会提供服务吗相关的知识,希望对你有一定的参考价值。

不可以的。需要使用AlwaysON的主副本使用传统的SQL Server故障转移集群

AlwaysON不支持分布式事务(和跨数据库事务)的根本原因在于主副本故障转移到辅助副本时会造成分布式事务执行不一致。

解决这个问题的焦点就是主副本和辅助副本的故障转移。如果主副本与辅助副本之间不允许故障转移(也就是处于异步同步模式下),辅助副本的职责只是接受来自主副本的日志,然后执行redo实现同步,这样一来就不会产生异常数据。

不过,主、辅副本无法故障转移后,主副本存在单点故障的风险,为了避免此类情况发生,可以为主副本建立传统的SQL Server故障转移集群。在这种架构下,如果主节点在执行分布式事务发生了故障转移,辅节点接管的SQL实例是原主节点的同一个实例,而且数据文件和日志文件是相同的,所以不会与其他参与分布式事务的节点产生数据不一致的问题。

参考技术A SQL Server 2005相对于SQL Server 2000来说,无论是性能还是功能都有一个相当大的提高,甚至可以用“革命”来形容这一次升级。SQL Server 2005使 SQL Server 跻身于企业级数据库行列。在数据高可用性方面,SQL Server 2005为用户提供了数据镜像、复制、故障转移群集、日志传送功能。本文向读者简单介结SQL Server 2005镜像功能。

  一、镜像简介

  数据库镜像是一个高可用性软件解决方案,为客户端提供小于10秒故障转移。每个数据库镜像配置均包含一个主体服务器(包含主体数据库)、一个镜像服务器(包含镜像数据库)和一个见证服务器,其中见证服务器是可选的。主体服务器和镜像服务器要求是独立的服务器实例。主体服务器和镜像服务器的角色是相对的,可以自动或者手动地将主体服务器设置为镜像服务器,镜像服务器设置为主体服务器。与主体服务器和镜像服务器不同的是,见证服务器并不能用于数据库。见证服务器监视主体服务器和镜像服务器,确保在给定的时间内这两个故障转移服务器中有且只有一个作为主体服务器,从而支持自动故障转移。如果存在见证服务器,同步会话将以“高可用性模式”运行,如果主体服务器出现故障,可以实现故障自动转移。如果见证服务器不存在,同步会话将以“高级别保护模式”运行,出现故障需要手动故障转移,并且有可能丢失数据。

  图1:两台服务器镜像

  图2:两台服务器镜像,一台见证服务器

  数据库准备结束,端点创建完成,用户便可以启用数据库镜像。镜像启动后,每个伙伴都将开始维护所在数据库中有关其数据库,以及另一个伙伴和见证服务器的状态信息。这些状态信息允许服务器实例维护称为“数据库镜像会话”的当前关系。在数据库镜像会话过程中,服务器实例将通过彼此定期交换 PING 消息来互相监视。本回答被提问者和网友采纳

关于SQL Server镜像的一个小误区

    昨天晚上突然接到客户的电话, 说在配置了镜像的生产环境数据库下修改 “已提交读快照” 选项的时候报错, 需要先取消镜像然后再重新搭建。悲催的是这是个近TB的数据库,问我有没有什么快速的方法。于是我就问客户为什么觉得时间长,他说重新搭建镜像的时候要先做完整备份然后再在镜像节点还原这个步骤会花费大量的时间。那么实际需要这么做吗?

    在镜像数据库下修改 “已提交读快照” 选项

   取消镜像后就会看到镜像节点的数据库的状态 从 “镜像,已同步/正在还原” 变成 “正在还原...”,不要删除它,它还有用。

修改选项成功后重新配置镜像,重点是这个时候镜像节点不需要还原完整备份了,直接通过管理工具配置即可。

 

误区就是取消镜像再重新搭建的时候是不需要在主体节点数据库上做完整备份并在镜像节点上还原的。这里还有一个小细节就是如果在取消镜像后主体节点的数据库上做了日志备份,那就有点小麻烦了,这里就不做展开了。

  

 

以上是关于sql server 镜像 主节点异常 镜像节点会提供服务吗的主要内容,如果未能解决你的问题,请参考以下文章

监控SQL Server数据库异常镜像状态发告警邮件

关于SQL Server镜像的一个小误区

SQL Server 镜像有多智能?

[SQL SERVER][HA]数据库镜像#简介

SymmetricDS 多节点组复制

用于高可用性的 RabbitMQ 集群队列镜像:在时间 t 获取队列的主节点 ip