sql server 高可用镜像
一、什么是数据库镜像
基本软件的高可用性解决方案
快速的故障转移恢复(3秒转移),低硬件成本
基于数据库级别的实现
二、数据库镜像中的服务器角色
主体服务器
承载主体数据库
接受用户连接和事务处理请求
镜像服务器
承载镜像数据库
作为主体数据库的热备份(主体数据库的变化及时传到镜像数据库中)
仅在故障转移后接受用户连接,事务处理请求。
见证服务器(监视)
监视服务器状态和连接性,实现自动自动故障转移
三、数据库镜像会话
会话初始化
镜像请求事务日志记录,与主体服务器实现同步
会话过程
主体服务器将日志记录传输给镜像服务器
各个角色之间相互监视会话状态
会话终结
发生故障转移
管理员终止数据库镜像
四 数据库镜像三种模式
| 操作模式 | 事务安全 | 传输机制 | 是否需要仲裁 | 见证服务器 | 故障转移类型 |
| 高可用 | Full | 同步 | Y | Y | 自动或手动 |
| 高级别保护 | Full | 同步 | Y | N | 仅手动 |
| 高性能 | OFF | 异步 | N | N/A | 仅强制 |
高可用:要求高服务可用性, 要求实现自动故障转移,确保数据的完整。
高级别保护模式: 数据完整性要求,不要求自动故障转移,对服务的可用性要求较低。
高性能保护模式:主体服务器和镜像服务器距离很远,通讯链路有明显的延迟,对性能的事要求高于数据的完整性。
五 配置演示
环境: 数据库版本 sqlserver 2012 系统版本windows server 2008 R2 域管理
mirroring测试场景
主体服务器--FETCHINGDATA49\MSSQLSERVERTWO tcp 5022 端口
镜像服务器--172.168.18.132\MSSQLSERVER2012 tcp 5022 端口
见证服务器--FETCHINGDATA49
镜像操作模式: 高可用. 事务安全:Full,传输机制:同步,是否仲裁:Y,见证服务器:Y,故障转移:自动。
--步骤(1) 【主体服务器】设置为完整恢复模式, 做一次完整备份和日志备份
ALTER DATABASE Mirroring_Test SET RECOVERY FULL
backup database Mirroring_Test to disk='C:\data\Mirroring_Test.bak' with init
backup log Mirroring_Test to disk='C:\data\Mirroring_Test.bak'
--步骤(2) 【镜像服务器】还原到镜像库上(将备份文件复制到镜像服务器目录还原)
--运行下面语句,使之创建镜像数据库,处于正在还原状态并且是覆盖。
restore database Mirroring_Test from disk='D:\data\Mirroring_Test.bak'
with file=1,
move N'Mirroring_Test' To N'D:\data\Mirroring_Test.mdf',
move N'Mirroring_Test_log' To N'D:\data\Mirroring_Test_log.ldf',
norecovery, replace restore log Mirroring_Test from disk='D:\data\Mirroring_Test.bak' with file=2,norecovery

在各服务器创建各端口
--步骤(3) 创建端点 【主体服务器】创建端点用于伙伴通讯,激活端点
create endpoint Mirroring_Test
as TCP (listener_port=5022)
for database_mirroring(role=partner,Encryption=supported)
-- 【镜像服务器】创建端点用于伙伴通讯,激活端点
create endpoint Mirroring_Test
as TCP (listener_port=5022)
for database_mirroring(role=partner,Encryption=supported)
--【见证服务器】创建端点用于见证通讯,激活端点
create endpoint Mirroring_Test
as TCP (listener_port=5023)
for database_mirroring(role=witness,Encryption=supported)

步骤4 创建connect(连接)权限。为三个数据库实例设置相同的账户名称和口令





步骤(5) 【主体服务器】配置镜像向导



测试
--测试手动故障转移(在主体服务器上执行)
ALTER DATABASE Mirroring_Test SET PARTNER failover
--测试自动故障转移(如在主体数据库服务器切断网线,或停止实例)
--测试数据同步在主体服务器上改动数据,在镜像数据库上创建快照查询
CREATE DATABASE snap_Mirroring_Test
ON (NAME=Mirroring_Test,FILENAME='D:\Snap_Mirroring_Test.snap')
AS SNAPSHOT OF Mirroring_Test
--删除快照
DROP DATABASE snap_Mirroring_Test
sql server 高可用镜像的更多相关文章
- 深入解析 SQL Server 高可用镜像实现原理
作者:郭忆 本文由 网易云 发布. SQL Server 是 windows 平台 .NET 架构下标配数据库解决方案,与 Oracle.MySQL 共同构成了 DB-Engines Ranking ...
- 深入解析SQL Server高可用镜像实现原理
本文来自网易云社区 SQL Server 是windows平台.NET架构下标配数据库解决方案,与Oracle.MySQL共同构成了DB-Engines Ranking的第一阵营,在国内外企业市场中有 ...
- SQL Server高可用——日志传送(4-1)——概论
原文:SQL Server高可用--日志传送(4-1)--概论 本文作为学习总结,部分内容出自联机丛书及其他书籍 日志传送是什么? SQLServer 2012之前(2012出现了AlwaysOn), ...
- SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn(实战篇)之AlwaysOn可用性组搭建
因为篇幅原因,AlwaysOn可用性组被拆成了两部分:理论部分和实战部分.而实战部分又被拆成了准备工作和AlwaysOn可用性组搭建. 三篇文章各自的链接: SQL Server ->> ...
- SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn可用性组(理论篇)
因为篇幅原因,AlwaysOn可用性组被拆成了两部分:理论部分和实战部分.而实战部分又被拆成了准备工作和AlwaysOn可用性组搭建. 三篇文章各自的链接: SQL Server ->> ...
- 京东云数据库RDS SQL Server高可用概述
数据库的高可用是指在硬件.软件故障发生时,可以将业务从发生故障的数据库节点迁移至备用节点.本文主要讲述SQL Server高可用方案,以及京东云RDS数据库的高可用实现. 一.高可用解决方案总览 1. ...
- SQL Server高可用——日志传送(4-3)——使用
原文:SQL Server高可用--日志传送(4-3)--使用 顺接上一篇:SQL Server高可用--日志传送(4-2)--部署 本文为本系列最重要的一篇,讲述如何使用日志传送及一些注意事项.从上 ...
- SQL Server高可用——日志传送(4-2)——部署
原文:SQL Server高可用--日志传送(4-2)--部署 前文再续,书接上一回.本章演示一下日志传送的具体过程 准备工作: 由于时间关系,已经装好了3台虚拟机,且同在一个域里面: SQL01:主 ...
- SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn(实战篇)之建立活动目录域、DNS服务器和Windows故障转移群集(准备工作)
因为篇幅原因,AlwaysOn可用性组被拆成了两部分:理论部分和实战部分.而实战部分又被拆成了准备工作和AlwaysOn可用性组搭建. 三篇文章各自的链接: SQL Server ->> ...
随机推荐
- 基于Bresenham和DDA算法画线段
直线:y=kx+b 为了将他在显示屏上显示出来,我们需要为相应的点赋值,那么考虑到计算机的乘法执行效率,我们肯定不会选择用Y=kx+b这个表达式求值,然后进行画线段. 我们应当是将它转化为加法运算. ...
- IOS中UITextView(多行文本框)控件的简单用法
1.创建并初始化 UITextView文本视图相比与UITextField直观的区别就是UITextView可以输入多行文字并且可以滚动显示浏览全文.UITextField的用处多,UITextVie ...
- AOP的相关概念
- Linux下转换文件从GBK到UTF-8
iconv -f gbk -t utf- source-file -o target-file
- css3中的布局相关样式
web页面中的布局是指在页面中如何对标题.导航栏.主要内容.脚注.表单等各种构成要素进行合理编辑.在css3之前,主要使用float属性或position属性进行页面中的简单布局,但是也存在一些缺点, ...
- ambari2.6.1汉化记录
1.1测试机 Apache hadoop2.6Apache ambari 2.6.1集群规模:单节点操作系统 CentOS7以下所有操作均在root用户下执行 1.2安装环境 安装Maventar - ...
- django-debug-toolbar的配置以及使用
django-debug-toolbar django,web开中,用django-debug-toolbar来调试请求的接口,无疑是完美至极. 可能本人,见识博浅,才说完美至极, 大神,表喷,抱 ...
- HTML DOM 实例
DOMAnchor 对象 更改一个链接的文本.URL 以及 target 使用 focus() 和 blur() 向超链接添加快捷键 Document 对象 使用 document.write() 向 ...
- access按钮事件在子窗体打开窗体或报表
Private Sub Com1_Click()Me.win.SourceObject = "窗体1"End Sub Private Sub Com2_Click()Me.win. ...
- Angularjs Post传值后台收不到的原因
如果你给AngularJS的post方法的data参数创一个key-value对象,那传给后台服务的就是JSON字符串,而正常的POST解析是需要像get?后面的那种&name=value这样 ...