1.环境要求

SQL Server 2005 SP3以上,主机与备机的SQL Server实例版本相同

一台主机:VM-DB-SRV1

一台备机:VM-DB-SRV2

主机与备机互通。

2.准备工作

在主机上设定主体库使用完整恢复模式

1
ALTER DATABASE EsmDB SET RECOVERY FULL

在主机上完整备份主体库

1
2
3
4
--完整备份
BACKUP DATABASE EsmDB TO DISK='C:\EsmDB.bak'
--备份日志
BACKUP LOG EsmDB TO DISK='C:\EsmDBlog.bak'

将2个bak文件拷贝到备机上,在备机上恢复库,使用NORECOVERY模式

1
2
3
4
--恢复数据库
RESTORE DATABASE EsmDB FROM DISK='C:\EsmDB.bak' WITH NORECOVERY
--恢复日志
RESTORE LOG EsmDB FROM DISK='C:\EsmDBlog.bak' WITH NORECOVERY


3.建立镜像

3.1.创建证书并备份

主机执行

1
2
3
4
5
6
7
USE master
--加密
CREATE MASTER KEY ENCRYPTION BY PASSWORD='mirror'
--为本机创建证书
CREATE CERTIFICATE SRV1_CERT WITH SUBJECT='vm-db-srv1',START_DATE='01/01/2013',EXPIRY_DATE='01/01/2050'
--备份到磁盘
BACKUP CERTIFICATE SRV1_CERT TO FILE='C:\SRV1_CERT.cer'

备机执行

1
2
3
4
5
6
7
USE master
--加密
CREATE MASTER KEY ENCRYPTION BY PASSWORD='mirror'
--为本机创建证书
CREATE CERTIFICATE SRV2_CERT WITH SUBJECT='vm-db-srv2',START_DATE='01/01/2013',EXPIRY_DATE='01/01/2050'
--备份到磁盘
BACKUP CERTIFICATE SRV2_CERT TO FILE='C:\SRV2_CERT.cer'


3.2.创建端点

主机执行

1
2
3
4
5
6
7
8
9
10
CREATE ENDPOINT EP                           --自定义端点名为EP
STATE=STARTED
AS TCP(LISTENER_PORT=5022, LISTENER_IP=ALL)--使用5022端口
FOR
DATABASE_MIRRORING                           --数据库镜像用
(
    AUTHENTICATION=CERTIFICATE SRV1_CERT,    --使用证书SRV1_CERT
    ENCRYPTION=REQUIRED ALGORITHM AES,
    ROLE=ALL
)

备机执行

1
2
3
4
5
6
7
8
9
10
CREATE ENDPOINT EP                           --自定义端点名为EP
STATE=STARTED
AS TCP(LISTENER_PORT=5022, LISTENER_IP=ALL)--使用5022端口
FOR
DATABASE_MIRRORING                           --数据库镜像用
(
    AUTHENTICATION=CERTIFICATE SRV2_CERT,    --使用证书SRV2_CERT
    ENCRYPTION=REQUIRED ALGORITHM AES,
    ROLE=ALL
)


3.3.互换证书并创建登录

主机拷贝备机的证书文件SRV2_CERT.cer,然后执行

1
2
3
4
5
6
7
8
--创建SRV2用的登录
CREATE LOGIN SRV2_login WITH PASSWORD='mirror'
--创建SRV2用的帐号
CREATE USER SRV2_user FOR LOGIN SRV2_login
--在SRV1上创建SRV2的证书,使用拷贝过来的cer文件
CREATE CERTIFICATE SRV2_CERT AUTHORIZATION SRV2_user FROM FILE='C:\SRV2_CERT.cer'
--授予SRV2连接到端点的权限
GRANT CONNECT ON ENDPOINT::EP TO SRV2_login

备机拷贝主机的证书文件SRV1_CERT.cer,然后执行

1
2
3
4
5
6
7
8
--创建SRV1用的登录
CREATE LOGIN SRV1_login WITH PASSWORD='mirror'
--创建SRV1用的帐号
CREATE USER SRV1_user FOR LOGIN SRV1_login
--在SRV2上创建SRV1的证书,使用拷贝过来的cer文件
CREATE CERTIFICATE SRV1_CERT AUTHORIZATION SRV1_user FROM FILE='C:\SRV1_CERT.cer'
--授予SRV1连接到端点的权限
GRANT CONNECT ON ENDPOINT::EP TO SRV1_login


3.4.建立镜像关系

先在备机执行

1
2
--为EsmDB库设定主体服务器为SRV1
ALTER DATABASE EsmDB SET PARTNER='TCP://VM-DB-SRV1:5022'

然后主机执行

1
2
--为EsmDB库设定镜像服务器为SRV2
ALTER DATABASE EsmDB SET PARTNER='TCP://VM-DB-SRV2:5022'

成功后主机上的EsmDB库会显示为“(主体,正在同步)”,备机上的EsmDB库会显示为“(镜像,正在同步/正在还原)”

4.主备切换

如果需要主动进行主备互换,在主机上执行

1
ALTER DATABASE EsmDB SET PARTNER FAILOVER

成功后主备互换,SRV2成功主机,SRV1成功备机。

如果主机无法工作,需要备机紧急启动,在备机执行

1
ALTER DATABASE EsmDB SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS

执行此命令前,备机上的EsmDB一定是显示为“(镜像,已断开连接)”。

成功后,EsmDB先显示“正在恢复”,10秒左右会变成“(主体,已断开连接)”。

如果此时主机恢复工作,主机上的EsmDB会显示为“(镜像,挂起/正在还原)”,备机上的EsmDB会显示为“(主体,挂起)”。

此时如果需要恢复主机工作,需要在备机上执行

1
2
ALTER DATABASE EsmDB SET PARTNER RESUME
ALTER DATABASE EsmDB SET PARTNER FAILOVER

本文转自 BoyTNT 51CTO博客,原文链接:http://blog.51cto.com/boytnt/1344385,如需转载请自行联系原作者

SQL Server 镜像相关推荐

  1. SQL Server镜像自动生成脚本

    SQL Server镜像自动生成脚本 镜像的搭建非常繁琐,花了一点时间写了这个脚本,方便大家搭建镜像 执行完这个镜像脚本之后,最好在每台机器都绑定一下hosts文件,不然的话,镜像可能会不work 1 ...

  2. 第三篇——第二部分——第三文 配置SQL Server镜像——域环境

    原文: 第三篇--第二部分--第三文 配置SQL Server镜像--域环境 原文出处:http://blog.csdn.net/dba_huangzj/article/details/2890450 ...

  3. SQL SERVER镜像切换

    --SQL SERVER镜像切换 ------------------------------2013/11/30 切换条件 高性能 没有见证服务器的高安全性模式 具有见证服务器的高安全性模式 自动故 ...

  4. 第三篇——第二部分——第四文 配置SQL Server镜像——非域环境

    原文: 第三篇--第二部分--第四文 配置SQL Server镜像--非域环境 本文为非域环境搭建镜像演示,对于域环境搭建,可参照上文:http://blog.csdn.net/dba_huangzj ...

  5. 第三篇——第二部分——第六文 监控SQL Server镜像

    原文: 第三篇--第二部分--第六文 监控SQL Server镜像 原文出处:http://blog.csdn.net/dba_huangzj/article/details/26846203 要优化 ...

  6. 第三篇——第二部分——第一文 SQL Server镜像简介

    原文: 第三篇--第二部分--第一文 SQL Server镜像简介 原文出处:http://blog.csdn.net/dba_huangzj/article/details/26951563 镜像是 ...

  7. tde数据库加密_如何在TDE加密的数据库上配置SQL Server镜像

    tde数据库加密 Securing and encrypting sensitive data stored in your production databases is a big concern ...

  8. 第一文 SQL Server镜像简介

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/26951563 镜像是什么?说白了就是个镜子(没用过镜子?没镜子你总要小便吧?开个玩笑.. ...

  9. SQL Server 镜像构建

    SQL Server 2005 镜像构建 一.镜像简介 1.1 简介 数据库镜像是将数据库事务处理从一个SQL Server数据库移动到不同SQL Server环境中的另一个SQL  Server数据 ...

  10. 京东云mysql镜像_京东云数据库RDS SQL Server高可用概述

    数据库的高可用是指在硬件.软件故障发生时,可以将业务从发生故障的数据库节点迁移至备用节点.本文主要讲述SQL Server高可用方案,以及京东云RDS数据库的高可用实现. 一.高可用解决方案总览 1. ...

最新文章

  1. 「caffe速成」caffe图像分类从模型自定义到测试
  2. 系统异常捕捉处理设计文档
  3. OpenCV的cv::cvtColor函数之“CV_RGB2GRAY”: 未声明的标识符错误解决方法
  4. 程序员究竟该如何提高效率
  5. 极路由2 root及校园802.1x拨号经验帖(西南校园)
  6. dvd打开显示服务器失败,9g、10g和11G PowerEdge服务器未启动的e1000故障安全错误
  7. HP的.NET职位面试题
  8. [转载红鱼儿]delphi 实现微信开发(2)接入微信公众号平台
  9. 来给PPT添加一个进度条和页码吧
  10. 雨过天晴电脑保护系统校园版
  11. 手持式频谱分析仪/路测仪推荐哪一款?TFN全新RMT系列不容错过
  12. 合并果子问题(贪心算法)
  13. Java数字转大写金额格式小程序代码
  14. 献给正在纠结的朋友——转产品还是转测试
  15. 软件工程导论复习之详细设计
  16. 解析Google地图的Search接口返回的f.txt文件数据(其他类似)
  17. 【数据结构与算法】之深入解析RSA加密算法的实现原理
  18. Hexo NexT 评论系统 Valine 的使用
  19. 在python程序中,#后面的语句是表示啥意思
  20. 2022Java面试题大全(整理版)面试题附答案详解,最全面详细

热门文章

  1. Atitit.软件开发概念说明--io系统区--特殊文件名称保存最佳实践文件名称编码...filenameEncode 1.1. 不个网页title保存成个个文件的时候儿有无效字符的问题... 1
  2. Atitit 个人 企业 政府 等组织 财政收入分类与提升途径attilax总结 v2
  3. 中国证券IT发展简史(上)
  4. CTA策略:主力连续、全合约模式下回测结果的差异探讨
  5. (转)今天的人工智能比肩工业革命毫不夸张
  6. Julia: 用Julia操作Redis数据库及一些用法
  7. mysql 嵌套_MySQL嵌套查询实例详解
  8. 【树叶识别】基于matlab BP神经网络树叶类别【含Matlab源码 799期】
  9. 【语音处理】基于matlab GUI语音时域频域频谱图分析【含Matlab源码 527期】
  10. 【心电信号】基于matlab GUI心电信号数字滤波处理【含Matlab源码 1067期】