首页 > 数据库 >数据库镜像 (SQL Server)操作模式

数据库镜像 (SQL Server)操作模式

时间:2024-06-08 10:23:09浏览次数:16  
标签:主体 见证 数据库 SQL 模式 Server 服务器 镜像

数据库镜像会话以同步操作或异步操作运行。 在异步操作下,事务不需要等待镜像服务器将日志写入磁盘便可提交,这样可最大程度地提高性能。 在同步操作下,事务将在伙伴双方处提交,但会延长事务滞后时间。
有两种镜像运行模式。 一种是高安全性模式,它支持同步操作。 在高安全性模式下,当会话开始时,镜像服务器将使镜像数据库尽快与主体数据库同步。 一旦同步了数据库,事务将在伙伴双方处提交,这会延长事务滞后时间。
第二种运行模式,即高性能模式,以异步方式运行。 镜像服务器尝试与主体服务器发送的日志记录保持同步。 镜像数据库可能稍微滞后于主体数据库。 但是,数据库之间的时间间隔通常很小。 但是,如果主体服务器的工作负荷过高或镜像服务器系统的负荷过高,则时间间隔会增大。
在高性能模式中,主体服务器向镜像服务器发送日志记录之后,会立即再向客户端发送一条确认消息。 它不会等待镜像服务器确认。 这意味着事务不需要等待镜像服务器将日志写入磁盘便可提交。 此异步操作允许主体服务器在事务滞后时间最小的条件下运行,但可能会丢失某些数据。
所有数据库镜像会话都只支持一台主体服务器和一台镜像服务器。 下图显示了该配置。

具有自动故障转移功能的高安全性模式要求使用第三个服务器实例,称为见证服务器。 与这两个伙伴不同的是,见证服务器并不能用于数据库。 见证服务器通过验证主体服务器是否已启用并运行来支持自动故障转移。 只有在镜像服务器和见证服务器与主体服务器断开连接之后而保持相互连接时,镜像服务器才启动自动故障转移。
下图显示了包含见证服务器的配置。

在数据库镜像会话上下文中,通常可以使用一个称为“角色切换” 的过程来互换主体角色和镜像角色。 角色切换涉及将主体角色转换给镜像服务器的操作。 在角色切换中,镜像服务器充当主体服务器的“故障转移伙伴 ”。 进行角色切换时,镜像服务器将接管主体角色,并使其数据库的副本联机以作为新的主体数据库。 以前的主体服务器(如果有)将充当镜像角色,并且其数据库将变为新的镜像数据库。 这些角色可以反复地来回切换。
存在以下三种角色切换形式。
自动故障转移
这要求使用高安全性模式并具有镜像服务器和见证服务器。 数据库必须已同步,并且见证服务器必须连接到镜像服务器。
见证服务器的作用是验证给定的伙伴服务器是否已启动并运行。 如果镜像服务器与主体服务器断开连接,但见证服务器仍与主体服务器保持连接,则镜像服务器无法启动故障转移。 有关详细信息,请参阅 数据库镜像见证服务器。
手动故障转移
这要求使用高安全性模式。 伙伴双方必须互相连接,并且数据库必须已同步。
强制服务(可能造成数据丢失)
在高性能模式和不带自动故障转移功能的高安全性模式下,如果主体服务器出现故障而镜像服务器可用,则可以强制服务运行。
重要
高性能模式用于在没有见证服务器的情况下运行。 但如果存在见证服务器,则强制服务将要求见证服务器连接到镜像服务器。
在任何一种角色切换情况下,一旦新的主体数据库联机,客户端应用程序便会通过重新连接到数据库来快速恢复。

标签:主体,见证,数据库,SQL,模式,Server,服务器,镜像
From: https://www.cnblogs.com/saiyikeji/p/18238357

相关文章

  • 数据库镜像 (SQL Server)
    数据库镜像是一种提高SQLServer数据库的可用性的解决方案。镜像基于每个数据库实现,并且只适用于使用完整恢复模式的数据库数据库镜像的优点数据库镜像是一种简单的策略,具有下列优点:提高数据库的可用性。发生灾难时,在具有自动故障转移功能的高安全性模式下,自动故障转移可快......
  • 基于cloudflare workers自建docker镜像
    缘由因为近期国内镜像站点的变动,自建docker镜像也提上了日程。顺便发现了Hammal这个优秀的项目。Hammal是运行于cloudflareworkers上的Docker镜像加速工具,用于解决获取Docker官方镜像速度缓慢以及完全无法获取k8s.gcr.io上镜像的问题。在这里感谢如下两个项目tomwei......
  • Springboot计算机毕业设计疫情防控平台微信小程序【附源码】开题+论文+mysql+程序+部
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景:在当今全球化和信息化的时代背景下,疫情的快速传播对社会稳定和人民生命健康构成了严重威胁。特别是在移动互联网高度发达的今天,如何利用科技手段有效......
  • Springboot计算机毕业设计疫情防控下的出入校园管理小程序【附源码】开题+论文+mysql+
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景:随着全球疫情的持续演变,校园作为人员密集、流动性强的场所,其出入管理面临着前所未有的挑战。传统的出入管理方式不仅效率低下,而且难以对出入人员的健......
  • ShardingSphere + Mysql,实现分库分表、读写分离,并整合 SpringBoot
    软件版本Docker:26.1.3Mysql:8.4.0ShardingSphere:5.5.0 分库分表1.Docker创建两个Mysqlservices:mysql:image:mysql:8.4.0ports:-"3306:3306"environment:MYSQL_ROOT_PASSWORD:abc123volumes:-./data:/var/lib/mysql......
  • 成为MySQL DBA后,再看ORACLE数据库(七、日志体系)
    说起数据库的日志,一般有redo日志、归档日志、错误日志、审计日志等,不同的数据库为了满足其特定的功能会有不同类型的日志。在ORACLE的日常运维中,可能接触得最多的就是redo日志、归档日志、告警日志、闪回日志这几种日志。在ORACLE知识体系中,一般把redo、undo、checkpoint这几个知......
  • 第一章 MySQL体系结构和存储引擎
    1.1定义数据库和实例数据库:物理操作系统文件或其他形式文件类型的集合实例:MySQL数据库由后台线程以及一个共享内存区组成在MySQL数据库中,实例与数据库的关系通常是一一对应的,即一个实例对应一个数据库,一个数据库对应一个实例MySQL数据库实例在系统上的表现就是一个进程MySQ......
  • Mysql阶段三总结
    Mysql阶段三总结触电器触发器(TRIGGER)是由事件来触发某个操作。这些事件包括INSERT语句、UPDATE语句和DELETE语句。当数据库系统执行这些事件时,就会激活触发器执行相应的操作。MySQL从5.0.2版本开始支持触发器。*创建触发器*在MySQL中创建触发器通过SQL语句CREATETRIGGE......
  • Mysql阶段二总结
    Mysql阶段二总结文章目录Mysql阶段二总结左外连接右外连接合并查询数据纪录子查询当我们在查询数据时,要求返回所操作表中至少一个表的所有数据记录,通过SQL语句“OUTERJOIN…ON”来实现。外连接数据查询语法形式如下:SELECTfield1,field2,…,fieldnFRO......
  • Mysql 8.4.0 结合 Docker 搭建GTID主从复制,以及传统主从复制
    注意:本教程不适用旧版本,Mysql8.4.0和旧版本,主从复制相关命令有所变化,具体区别请看文末参考软件版本Docker:26.1.3Mysql:8.4.0 GTID主从复制1.准备主从两台服务器2.两台服务器分别创建DockerCompose文件services:mysql:image:mysql:8.4.0ports:-"3......