SQL SERVER 镜像配置文档文档格式.docx
- 文档编号:6731004
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:15
- 大小:18.94KB
SQL SERVER 镜像配置文档文档格式.docx
《SQL SERVER 镜像配置文档文档格式.docx》由会员分享,可在线阅读,更多相关《SQL SERVER 镜像配置文档文档格式.docx(15页珍藏版)》请在冰点文库上搜索。
主体服务器和镜像服务器的角色是相对的,可以自动或者手动地将主体服务器与镜像服务器的角色互换。
与主体服务器和镜像服务器不同的是,见证服务器并不能用于数据库。
见证服务器监视主体服务器和镜像服务器,确保在给定的时间内这两个故障转移服务器中有且只有一个作为主体服务器,从而支持自动故障转移。
如果存在见证服务器,同步会话将以“高可用性模式”运行,如果主体服务器出现故障,可以实现故障自动转移。
如果见证服务器不存在,同步会话将以“高级别保护模式”运行,出现故障需要手动故障转移,并且有可能丢失数据。
基本模式:
同步:
已提交的事务将在伙伴双方上提交
异步:
事务不需要等待镜像服务器将日志写入磁盘便可提交
镜像运行模式:
高安全性模式
支持同步操作。
在高安全性模式下,当会话开始时,镜像服务器将使镜像数据库尽快与主体数据库同步。
在同步数据库之后,已提交的事务将在伙伴双方上提交,但会延长事务滞后时间。
具有自动故障转移功能的高安全性模式要求使用第三个服务器实例,称为“见证服务器”。
与这两个伙伴不同的是,见证服务器并不能用于数据库。
见证服务器通过验证主体服务器是否已启用并运行来仅支持自动故障转移。
只有在镜像服务器和见证服务器与主体服务器断开连接之后而保持相互连接时,镜像服务器才启动自动故障转移。
高性能模式
异步运行。
将事务安全设置为OFF时,数据库镜像会话便会异步运行。
镜像服务器尝试与主体服务器发送的日志记录保持同步。
虽然镜像数据库可能稍微滞后于主体数据库,但这两个数据库之间的时间间隔通常很小。
但是,如果主体服务器的工作负荷过高或镜像服务器系统的负荷过高,则时间间隔会增大。
方法
1.单机多实例
适用于单台机器的多个实例间做数据同步测试
2.同网段(域环境)
适用于域环境中,相对证书方式,配置相对简单,省去了建立密钥、证书及多次为用户授权的过程
3.同网段(非域):
证书方式
配置相对较繁琐,基本步骤:
1.各服务器生成主密钥(MASTERKEY)
2.各服务器生成服务证书(CERTIFICATE)
3.使用服务证书生成端点(ENDPOINT)
4.将证书备份为文件,并复制到其他服务器
5.各服务器对其他服务器生成访问授权
1)生成登陆
2)生成用户
3)绑定证书到用户
4)授予相关用户对ENDPOINT的连接访问权
6.主机上备份数据库(最好加上日志备份)
7.镜像机上还原数据库(norecovery)
8.为镜像机配置镜像伙伴
9.为主机配置镜像伙伴和见证服务器
配置步骤(证书方式)
1、为主体数据库配置出站连接
--创建数据库主密钥
USEmaster;
GO
--DROPMASTERKEY
CREATEMASTERKEYENCRYPTIONBYPASSWORD='
111111'
;
--如果以前设置过,通过以下语句修改masterkey
--ALTERMASTERKEYREGENERATEWITHENCRYPTIONBYPASSWORD='
--在MIR-A上为数据库实例创建证书
CREATECERTIFICATEMIR_A_cert
WITHSUBJECT='
MIR_Acertificate'
START_DATE='
2009-12-01'
EXPIRY_DATE='
2099-12-31'
--在MIR-A上使用上面创建的证书为数据库实例创建镜像端点
CREATEENDPOINTEndpoint_Mirroring
STATE=STARTED
ASTCP(
LISTENER_PORT=5024
LISTENER_IP=ALL
)
FORDATABASE_MIRRORING(
AUTHENTICATION=CERTIFICATEMIR_A_cert
ENCRYPTION=REQUIREDALGORITHMRC4
ROLE=ALL
);
--备份MIR-A上的证书并将其复制到MIR-B(镜像机),MIR-W(见证机)
BACKUPCERTIFICATEMIR_A_certTOFILE='
E:
\yangjj\MIR_A_cert.cer'
2、为镜像数据库配置出站连接
--在MIR-B上为数据库实例创建证书
CREATECERTIFICATEMIR_B_cert
MIR_Bcertificatefordatabasemirroring'
--在MIR-B上使用上面创建的证书为数据库实例创建镜像端点
LISTENER_PORT=5024,
LISTENER_IP=ALL
AUTHENTICATION=CERTIFICATEMIR_B_cert,
ENCRYPTION=REQUIREDALGORITHMRC4,
ROLE=ALL
--备份MIR-B上的证书并复制到MIR-A(主机),MIR-W(见证机)
BACKUPCERTIFICATEMIR_B_certTOFILE='
\yangjj\MIR_B_cert.cer'
3、为见证数据库配置出站连接
--在MIR-W上为数据库实例创建证书
CREATECERTIFICATEMIR_W_cert
MIR_Wcertificatefordatabasemirroring'
--在MIR-W上使用上面创建的证书为数据库实例创建镜像端点
AUTHENTICATION=CERTIFICATEMIR_W_cert,
--备份MIR-W上的证书并拷贝到MIR-A(主机),MIR-B(镜像机)
BACKUPCERTIFICATEMIR_W_certTOFILE='
\yangjj\MIR_W_cert.cer'
4、为主体数据库配置入站连接
--在MIR-A上为MIR-B创建登陆
GO
CREATELOGINMIR_B_loginWITHPASSWORD='
--为以上登陆创建一个用户
CREATEUSERMIR_B_userFORLOGINMIR_B_login;
--绑定证书到用户
AUTHORIZATIONMIR_B_user
FROMFILE='
--在镜像端点上为登陆赋予CONNECT权限
GRANTCONNECTONENDPOINT:
:
Endpoint_MirroringTO[MIR_B_login];
--在MIR_A上为MIR_W创建登陆
CREATELOGINMIR_W_loginWITHPASSWORD='
CREATEUSERMIR_W_userFORLOGINMIR_W_login;
AUTHORIZATIONMIR_W_user
Endpoint_MirroringTO[MIR_W_login];
5、为镜像数据库配置入站连接
--在MIR-B上为MIR-A创建登陆
CREATELOGINMIR_A_loginWITHPASSWORD='
CREATEUSERMIR_A_userFORLOGINMIR_A_login;
AUTHORIZATIONMIR_A_user
Endpoint_MirroringTO[MIR_A_login];
--在MIR-B上为MIR-W创建登陆
6、为见证数据库配置入站连接
--在MIR-W上为MIR-A创建登陆
--在MIR-W上为MIR-B创建登陆
7、主机备份数据库
--检查并修改Northwind数据库使其为完整恢复模式(如果已是完整恢复模式,则省略此步)
ALTERDATABASEmirrorTestSETRECOVERYFULL;
--在MIR_A的主体服务器实例上备份数据库并将备份文件复制到MIR_B上
BACKUPDATABASEmirrorTestTODISK='
\yangjj\mirrorTest.bak'
WITHFORMAT
8、镜像机还原数据库
--在MIR-B的镜像服务器实例上还原数据库:
RESTOREDATABASEmirrorTestFROMDISK='
WITHNORECOVERY
9、为镜像数据库配置镜像伙伴
--在MIR-B的镜像服务器实例上,将MIR-A上的服务器实例设置为伙伴
ALTERDATABASEmirrorTestSETPARTNER='
TCP:
//db04:
5024'
10、为主体数据库配置镜像伙伴和见证服务器
--在MIR-A的主体服务器实例上,将MIR-B上的服务器实例设置为伙伴
--在MIR-A的主体服务器实例上,将MIR-W上的服务器实例设置为见证服务器
ALTERDATABASEmirrorTestSETWITNESS='
//db03:
11、配置数据库镜像事务安全级别
ALTERDATABASEmirrorTestSETSAFETYFULL
维护
1、查看数据库镜像状态
1.)通过Managementstudio对象资源管理器,查看主体数据库、镜像数据库状态
2.)通过Managementstudio对象资源管理器中的数据库属性查看状态
3.)通过系统目录视图查看数据库镜像配置情况
USEMASTER
SELECT*FROMsys.database_mirroring_endpoints;
SELECT*FROMsys.database_mirroringWHEREdatabase_id=
(SELECTdatabase_idFROMsys.databasesWHEREname='
Northwind'
2、测试故障转移
1.主备互换
--主机执行:
ALTERDATABASEmirrorTestSETPARTNERFAILOVER
--主服务器Down掉,备机紧急启动并且开始服务
ALTERDATABASEmirrorTestSETPARTNERFORCE_SERVICE_ALLOW_DATA_LOSS
--原来的主服务器恢复,可以继续工作,需要重新设定镜像
--备机执行:
USEmaster
--恢复镜像
ALTERDATABASEmirrorTestSETPARTNERRESUME
--切换主备
ALTERDATABASEmirrorTestSETPARTNERFAILOVER;
--停用镜像
ALTERDATABASEmirrorTestSETPARTNEROFF
--停用见证机
ALTERDATABASEmirrorTestSETWITNESSOFF
3.生成删除镜像相关对象脚本
--删除镜像端点
SELECT'
DROPENDPOINT'
+name
FROMsys.database_mirroring_endpoints
WHEREtype=4
--删除证书
DROPCERTIFICATE'
FROMsys.certificates
WHEREnamenotlike'
##%'
--删除用户
DROPUSER'
+nameFROMsys.sysusersWHEREnameLIKE'
mir%'
--删除登录
DROPLOGIN'
+nameFROMsys.sysloginsWHEREnameLIKE'
--删除主密钥
ifexists(SELECT*fromsys.symmetric_keyswherename='
##MS_DatabaseMasterKey##'
)
DROPmasterkey
常见错误
域名不正确,连接失败
主数据库,镜像,见证服务器最好都用域名,虽然有时用netbios名或ip也可以,但不稳定,服务器重启后有时镜像起不来。
如果服务器都已加入域,直接填写域名作为路径基本都不会有问题;
不加入域的情况下需要编辑hosts文件。
身份认证不正确,连接失败
域环境下注意用域帐号启动SQLSERVER服务;
非域环境下只能使用证书方式,配置步骤繁琐,注意SQL语句中用户名,证书名正确。
镜像库恢复不符合要求,开始同步时发生错误
如开始同步后报错:
Themirrordatabase,"
UserDefinedDatabase"
hasinsufficienttransactionlogdatatopreservethelogbackupchainoftheprincipaldatabase.Thismayhappenifalogbackup
fromtheprincipaldatabasehasnotbeentakenorhasnotbeenrestoredonthemirrordatabase.(MicrosoftSQLServer,Error:
1478)
解决办法:
可从主机增加事务日志备份,到镜像机恢复
----------------------------------------------------------------------------------------------------------------------
补充说明:
两台数据库做镜像,不管是哪台数据库出了问题,另外一台数据库都可以保证
正常对外提供服务。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL SERVER 镜像配置文档 配置 文档