sql2008R2sp1局域网镜像环境实操(无见证服务器)
环境介绍:
我的电脑:sql2008r2sp1_32 129.186.110.37 OS win2003 SP2 Enterprise 做主体服务器, 暂叫ServerA
服务器: sql2008R2sp1_64bit 129.186.110.95 OS win2008R2 Enterprise 做镜像服务器, 暂叫ServerB
实验目的:镜像环境的搭建以及保证镜像服务器最终可用
一、数据库镜像操作
1. 在ServerA和ServerB中创建同名数据库bookdb,若要对此数据库进行镜像,要将其改成“完整恢复模式”,在ServerA的bookdb上面执行下面的SQL语句:
use master
alter database bookdb set recovery full
注:默认就是完整恢复模式
2. 创建证书(主备都创建)
(1)主机执行:
use master
create master key encryption by password='1234'
create certificate host_a_cert with subject = 'host_a certificate',start_date = '2013-1-2'
(2)备机执行:
use master
create master key encryption by password = '1234'
create certificate host_b_cert with subject = 'host_b certificate',start_date = '2012-1-2'
注:如果要删除创建的master key 先要删除证书;
DROP CERTIFICATE host_a_cert
drop master key
3. 创建终结点(主备都创建)
(1) 主机执行:
create endpoint Endpoint_Mirroring
state = started
as
tcp(listener_port=5022,listener_ip=all)
for
database_mirroring(authentication = certificate host_a_cert, encryption = required ALGORITHM AES, role=all);
(2)备机执行:
create endpoint Endpoint_Mirroring
state=started
as
tcp(listener_port=5022,listener_ip=all)
for
database_mirroring(authentication=certificate host_b_cert,encryption=required ALGORITHM AES,role=all);
4. 备份证书到文件,并互换证书
(1)主机执行
backup certificate host_a_cert to file='d:\host_a_cert.cer'
(2)备机执行
backup certificate host_b_cert to file='d:\host_b_cert.cer'
将备份好证书文件互相复制一份到对方相应位置
5. 在同步login
(1)主机执行:
create login host_b_login with password='1234'
create user host_b_user for login host_b_login
create certificate host_b_cert authorization host_b_user from file='d:\host_b_cert.cer'
grant connect on endpoint::Endpoint_Mirroring to [host_b_login]
(2)备机执行:
create login host_a_login with password='1234'
create user host_a_user for login host_a_login
create certificate host_a_cert authorization host_a_user from file='d:\host_a_cert.cer'
grant connect on endpoint::Endpoint_Mirroring to [host_a_login]
6. 上面都是对实例进行操作,下面开始对要进行镜像的数据库进行操作了,一开始我就创建了数据库bookdb,并将其设置成了“完整恢复模式”;
默认好像就是完整恢复模式的。
7. 将ServerA数据库进行数据库完整备份和日志备份,然后在镜像机上进行分别还原,
注意,一定要先完整备份,再事务日志备份。由于长时间不恢复数据库,他妈的连事务日志备份的扩展名都忘了。
如果仅仅在镜像服务器上恢复完整备份,是不行的。这会你在执行第8步的时候报错。提示你"没有为数据库镜像配置数据库 "bookdb"",会有误导。实际上是缺事务日志恢复这步。另外多说一句
在恢复的时候,完整的选项要选上“覆盖”,和下面的“不回滚”,完成这步后,相关数据库会显示“正在恢复”状态,
事务日志恢复也要选上“不回滚”
附加一句,如果某个数据库显示正在恢复状态,想停止这种状态,可输入:
RESTORE database dbname with recovery
8. 建立镜像关系,设置伙伴
主机执行:alter database bookdb set partner='TCP://129.186.110.95:5022'
镜像执行:alter database bookdb set partner='TCP://129.186.110.37:5022'
9. 如果在执行上面两句没有出错的话,那么主体数据库服务器与镜像数据库服务器就成功建立了镜像关系
主服务器:
三.使用镜像数据库
如果主体数据库服务器宕机了,那么数据还保存在镜像数据库里面,那么怎么用呢,在镜像数据库中执行下面两句话(注意顺序)
1. alter database bookdb set partner off
alter database bookd set partner force_service_allow_data_loss
2. 应用程序方面自己改一下配置参数。
注意:如果镜像服务器正在使用,相关的数据库无删除,需要关闭alter database bookdb set partner off,上述这段是原引原作者的,我没有实验成功,所以改为手动转换,还因为没有见证服务器。
目前还没有程序测试是否可以使用,所以这篇文章还不完整,待续。。。。。。。
四、手动验证一下
点击“是”
此时,原主体服务器状态如下:
刚才的步骤再次切换后,状态又恢复到最初的主镜像状态。
注:有一天突然发现主体和镜像存在连接问题,后经查找,发现在关闭了windows防火墙后,连接正常。
如果有一天要删除镜像,可按如下操作:
select * from sys.endpoints
drop endpoint Endpoint_Mirroring
drop login host_a_login
drop user host_a_user
drop certificate host_a_cert
drop certificate host_b_cert
drop master key
故障转移,也可以把主机的网络断开,在镜像服务器上执行t-sql语句:
Use master
alter database <DatabaseName> set partner force_service_allow_data_loss
Go”
把镜像服务器启用,状态为“主机,断开”,为应用系统服务。
当主机服务器正常后,在镜像服务器上执行transact-sql语句:
USE master;
ALTER DATABASE <DatabaseName> SET PARTNER RESUME;
--恢复镜像
ALTER DATABASE <DatabaseName> SET PARTNER FAILOVER;
--切换主备” 恢复正常镜像。 另外还可以使用:
ALTER DATABASE <DatabaseName> SET PARTNER SUSPEND ALTER DATABASE <DatabaseName> SET PARTNER RESUME”
暂停镜像和启用镜像,以便于维护。
使用“ALTER DATABASE <database_name> SET PARTNER OFF”,删除镜像
注意事项
(一)镜像相关服务器上的SQL SERVER 版本必须一致。
(二)在实施镜像之前,一定要将主数据库完整备份到镜像数据库,这里一定要备份两次,一次数据库备份和一次事务日志备份。
(三)数据帐号的孤立帐号处理,具体参见配置镜像数据库。
(四)如果不是在域帐户间实施镜像,则一定需要为服务器制作证书,证书一定要指定过期时间,如果没有指定,默认的过期时间是开始时间开始计算,一年的有效期。
(五)推荐使用64位版本的SQL Server 2008,64位的服务器可以提升服务器的性能和利用率,在32位的系统中,每个服务器实例,数据库最多支持10个数据库。
(六)系统数据库,如master,msdb等无法实施镜像。
(七)一旦建立镜像,镜像数据库就只作为主数据库的冗余备份使用。
sql2008R2sp1局域网镜像环境实操(无见证服务器)的更多相关文章
- HDFS集群PB级数据迁移方案-DistCp生产环境实操篇
HDFS集群PB级数据迁移方案-DistCp生产环境实操篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 用了接近2个星期的时间,终于把公司的需要的大数据组建部署完毕了,当然,在部 ...
- SQL Server 2008 数据库镜像部署实例之三 配置见证服务器
SQL Server 2008 数据库镜像部署实例之三 配置见证服务器 前面已经完成了镜像数据库的配置,并进行那个了故障转移测试.接下来将部署见证服务器,实现自动故障转移. 一.关于见证服务器 1.若 ...
- sql2008r2局域网复制订阅实操
10.129.186.37 本机 10.129.186.95 服务器 局域网环境 复制类型:事务复制 注意点:要复制的表,必须有主键,否则不可选复制表. 要点1,局域网尝试用共享的方式保存快照文件夹, ...
- win7,win10 系统上搭建testlink1.9.18环境实操步骤
Windows7,10系统上安装TestLink1.9.18(基于xampp) 写于:2018.11.28 二次排版微调:2019.01.01 如遇本文资料缺失,可点击百度网盘查看原始资料. 链接:h ...
- 28-SQLServer带见证服务器的镜像搭建
一.注意点 1.数据库的模式要是完整模式. 2.要对数据库完整备份和事务日志备份,分别还原到镜像库上,使用NORECOVERY模式. 3.镜像数据库是不允许删除和操作,即便查看属性也不行. 4.先删除 ...
- 【强烈推荐,超详细,实操零失误】node.js安装 + npm安装教程 + Vue开发环境搭建
node.js安装 + npm安装教程 + Vue开发环境搭建 [强烈推荐,超详细,实操零失误] 原博客园地址:https://www.cnblogs.com/goldlong/p/8027997.h ...
- 生产环境搭建高可用Harbor(包括恢复演练实操)
生产环境搭建高可用Harbor(包括恢复演练实操) 前言 因资源成本问题,本Harbor高可用架构为最小开销方案,如果资源充足,可以将PG.Redis全部使用使用云厂商集群模式. 同时为了配置简单,并 ...
- Istio的流量管理(实操一)(istio 系列三)
Istio的流量管理(实操一)(istio 系列三) 使用官方的Bookinfo应用进行测试.涵盖官方文档Traffic Management章节中的请求路由,故障注入,流量迁移,TCP流量迁移,请求 ...
- (二)Linux实操之——网络配置、进程管理、服务管理、组管理、YUM
接上段 (一)Linux实操之——权限.任务调度.磁盘分区 4.网络配置 4.1 NAT模式的网络配置 目前我们采用的网络配置是NAT模式. windows下cmd通过 ipconfig 命令可以 ...
随机推荐
- CentOS, 高速设置ssh无password登录
首先.保证能够ping通 然后运行例如以下命令, master登录slave master上面运行例如以下指令: 2.4 确认本机sshd的配置文件(root) $ vi/etc/ssh/sshd_c ...
- Connection for controluser as defined in your configuration failed.
在mysql中使用事件调度器(计划任务), 语句写好了,运行也ok,可是却没有预期的结果.网上总结了非常多计划任务失效的原因.没有一种适合我. 在phpmyadmin中打开事件表,发现以下一串红色的提 ...
- RADOS工作原理
转:http://www.csdn.net/article/2014-04-08/2819192-ceph-swift-on-openstack-m/2 Ceph的工作原理及流程 本节将对Ceph的工 ...
- 【监控】使用probe对tomcat服务进行监控
1.运行环境(博主本地) JDK:jdk1.6 Tomcat:tomcat7 OS:Windows10 2.下载 点击下载 3.安装运行 1.解压,将probe文件夹复制放进tomcat里面的weba ...
- 「C」 函数、运算、流程控制
一.函数 (一)什么是函数 任何一个C语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”. (二)函数的定义 目的:将一个常用的功能封装起来,方 ...
- CSS3-旋转齿轮
CSS3-旋转齿轮 查看DEMO 通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片.Flash 动画以及 JavaScript. 先来认识一下css3的animation animat ...
- 如何解决JavaWeb乱码问题
作为一个合格的web开发人员应该是什么问题都遇到过的,尤其是乱码问题.大家也许都体会到了,我们中国人学编程,很大的一个不便就是程序的编码问题,无论学习什么技术,我们都需要探讨他的编码问题. 今天来讲一 ...
- Python之路:Python 基础(三)-文件操作
操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开文件 文件句柄 = file('文件路径', '模式') # 还有一种方法open 例1.创建文件 f = file('myfile. ...
- C语言之自守数
自守数 自守数是指一个数的平方的尾数等于该数自身的自然数,如25*25=625,76*76=5776.要求求出一定范围内的所有自守数. 题目分析: 刚拿到这个题目的时候认为解题关键在于,测试该数平方数 ...
- (step6.3.5)hdu 1281(棋盘游戏——二分图的完美匹配)
题目大意:本体是中文题.读者可以直接在OJ上看 解题思路: 1)完美匹配:所有的端点都是匹配点 2)对于二分图的完美匹配,我们需要用一个数组来存储匹配点.(而二分图的其他问题(我们则可以直接使用变量来 ...