SQL SERVER 镜像配置文档.docx

上传人:b****3 文档编号:4567873 上传时间:2023-05-07 格式:DOCX 页数:15 大小:18.94KB
下载 相关 举报
SQL SERVER 镜像配置文档.docx_第1页
第1页 / 共15页
SQL SERVER 镜像配置文档.docx_第2页
第2页 / 共15页
SQL SERVER 镜像配置文档.docx_第3页
第3页 / 共15页
SQL SERVER 镜像配置文档.docx_第4页
第4页 / 共15页
SQL SERVER 镜像配置文档.docx_第5页
第5页 / 共15页
SQL SERVER 镜像配置文档.docx_第6页
第6页 / 共15页
SQL SERVER 镜像配置文档.docx_第7页
第7页 / 共15页
SQL SERVER 镜像配置文档.docx_第8页
第8页 / 共15页
SQL SERVER 镜像配置文档.docx_第9页
第9页 / 共15页
SQL SERVER 镜像配置文档.docx_第10页
第10页 / 共15页
SQL SERVER 镜像配置文档.docx_第11页
第11页 / 共15页
SQL SERVER 镜像配置文档.docx_第12页
第12页 / 共15页
SQL SERVER 镜像配置文档.docx_第13页
第13页 / 共15页
SQL SERVER 镜像配置文档.docx_第14页
第14页 / 共15页
SQL SERVER 镜像配置文档.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

SQL SERVER 镜像配置文档.docx

《SQL SERVER 镜像配置文档.docx》由会员分享,可在线阅读,更多相关《SQL SERVER 镜像配置文档.docx(15页珍藏版)》请在冰点文库上搜索。

SQL SERVER 镜像配置文档.docx

SQLSERVER镜像配置文档

SQLSERVER2005镜像配置文档

Contents

介绍1

方法2

配置步骤(证书方式)3

1、为主体数据库配置出站连接3

2、为镜像数据库配置出站连接4

3、为见证数据库配置出站连接5

4、为主体数据库配置入站连接6

5、为镜像数据库配置入站连接7

6、为见证数据库配置入站连接8

7、主机备份数据库9

8、镜像机还原数据库9

9、为镜像数据库配置镜像伙伴9

10、为主体数据库配置镜像伙伴和见证服务器9

11、配置数据库镜像事务安全级别10

维护10

1、查看数据库镜像状态10

2、测试故障转移10

常见错误11

介绍

SQLSERVER2005镜像基于日志同步,可良好实现故障转移。

每个数据库镜像配置均包含一个主体服务器(包含主体数据库)、一个镜像服务器(包含镜像数据库)和一个见证服务器(可选)。

主体服务器和镜像服务器要求是独立的服务器实例。

主体服务器和镜像服务器的角色是相对的,可以自动或者手动地将主体服务器与镜像服务器的角色互换。

与主体服务器和镜像服务器不同的是,见证服务器并不能用于数据库。

见证服务器监视主体服务器和镜像服务器,确保在给定的时间内这两个故障转移服务器中有且只有一个作为主体服务器,从而支持自动故障转移。

如果存在见证服务器,同步会话将以“高可用性模式”运行,如果主体服务器出现故障,可以实现故障自动转移。

如果见证服务器不存在,同步会话将以“高级别保护模式”运行,出现故障需要手动故障转移,并且有可能丢失数据。

 

基本模式:

同步:

已提交的事务将在伙伴双方上提交

异步:

事务不需要等待镜像服务器将日志写入磁盘便可提交

镜像运行模式:

高安全性模式

支持同步操作。

在高安全性模式下,当会话开始时,镜像服务器将使镜像数据库尽快与主体数据库同步。

在同步数据库之后,已提交的事务将在伙伴双方上提交,但会延长事务滞后时间。

具有自动故障转移功能的高安全性模式要求使用第三个服务器实例,称为“见证服务器”。

与这两个伙伴不同的是,见证服务器并不能用于数据库。

见证服务器通过验证主体服务器是否已启用并运行来仅支持自动故障转移。

只有在镜像服务器和见证服务器与主体服务器断开连接之后而保持相互连接时,镜像服务器才启动自动故障转移。

高性能模式

异步运行。

将事务安全设置为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';

GO

--如果以前设置过,通过以下语句修改masterkey

--ALTERMASTERKEYREGENERATEWITHENCRYPTIONBYPASSWORD='111111';

--在MIR-A上为数据库实例创建证书

CREATECERTIFICATEMIR_A_cert

WITHSUBJECT='MIR_Acertificate',

START_DATE='2009-12-01',

EXPIRY_DATE='2099-12-31'

GO

--在MIR-A上使用上面创建的证书为数据库实例创建镜像端点

CREATEENDPOINTEndpoint_Mirroring

STATE=STARTED

ASTCP(

LISTENER_PORT=5024

LISTENER_IP=ALL

FORDATABASE_MIRRORING(

AUTHENTICATION=CERTIFICATEMIR_A_cert

ENCRYPTION=REQUIREDALGORITHMRC4

ROLE=ALL

);

GO

--备份MIR-A上的证书并将其复制到MIR-B(镜像机),MIR-W(见证机)

BACKUPCERTIFICATEMIR_A_certTOFILE='E:

\yangjj\MIR_A_cert.cer';

GO

 

2、为镜像数据库配置出站连接

--创建数据库主密钥

USEmaster;

CREATEMASTERKEYENCRYPTIONBYPASSWORD='111111';

GO

--在MIR-B上为数据库实例创建证书

CREATECERTIFICATEMIR_B_cert

WITHSUBJECT='MIR_Bcertificatefordatabasemirroring',

START_DATE='2009-12-01',

EXPIRY_DATE='2099-12-31';

GO

--在MIR-B上使用上面创建的证书为数据库实例创建镜像端点

CREATEENDPOINTEndpoint_Mirroring

STATE=STARTED

ASTCP(

LISTENER_PORT=5024,

LISTENER_IP=ALL

FORDATABASE_MIRRORING(

AUTHENTICATION=CERTIFICATEMIR_B_cert,

ENCRYPTION=REQUIREDALGORITHMRC4,

ROLE=ALL

);

GO

--备份MIR-B上的证书并复制到MIR-A(主机),MIR-W(见证机)

BACKUPCERTIFICATEMIR_B_certTOFILE='E:

\yangjj\MIR_B_cert.cer';

GO

3、为见证数据库配置出站连接

--创建数据库主密钥

USEmaster;

GO

CREATEMASTERKEYENCRYPTIONBYPASSWORD='111111';

GO

--在MIR-W上为数据库实例创建证书

CREATECERTIFICATEMIR_W_cert

WITHSUBJECT='MIR_Wcertificatefordatabasemirroring',

START_DATE='2009-12-01',

EXPIRY_DATE='2099-12-31';

GO

--在MIR-W上使用上面创建的证书为数据库实例创建镜像端点

CREATEENDPOINTEndpoint_Mirroring

STATE=STARTED

ASTCP(

LISTENER_PORT=5024,

LISTENER_IP=ALL

FORDATABASE_MIRRORING(

AUTHENTICATION=CERTIFICATEMIR_W_cert,

ENCRYPTION=REQUIREDALGORITHMRC4,

ROLE=ALL

);

GO

--备份MIR-W上的证书并拷贝到MIR-A(主机),MIR-B(镜像机)

BACKUPCERTIFICATEMIR_W_certTOFILE='E:

\yangjj\MIR_W_cert.cer';

GO

4、为主体数据库配置入站连接

--在MIR-A上为MIR-B创建登陆

USEmaster;

GO

CREATELOGINMIR_B_loginWITHPASSWORD='111111';

GO

--为以上登陆创建一个用户

CREATEUSERMIR_B_userFORLOGINMIR_B_login;

GO

--绑定证书到用户

CREATECERTIFICATEMIR_B_cert

AUTHORIZATIONMIR_B_user

FROMFILE='E:

\yangjj\MIR_B_cert.cer'

GO

--在镜像端点上为登陆赋予CONNECT权限

GRANTCONNECTONENDPOINT:

:

Endpoint_MirroringTO[MIR_B_login];

GO

--在MIR_A上为MIR_W创建登陆

USEmaster;

GO

CREATELOGINMIR_W_loginWITHPASSWORD='111111';

GO

--为以上登陆创建一个用户

CREATEUSERMIR_W_userFORLOGINMIR_W_login;

GO

--绑定证书到用户

CREATECERTIFICATEMIR_W_cert

AUTHORIZATIONMIR_W_user

FROMFILE='E:

\yangjj\MIR_W_cert.cer'

GO

--在镜像端点上为登陆赋予CONNECT权限

GRANTCONNECTONENDPOINT:

:

Endpoint_MirroringTO[MIR_W_login];

GO

5、为镜像数据库配置入站连接

--在MIR-B上为MIR-A创建登陆

USEmaster;

GO

CREATELOGINMIR_A_loginWITHPASSWORD='111111';

GO

--为以上登陆创建一个用户

CREATEUSERMIR_A_userFORLOGINMIR_A_login;

GO

--绑定证书到用户

CREATECERTIFICATEMIR_A_cert

AUTHORIZATIONMIR_A_user

FROMFILE='E:

\yangjj\MIR_A_cert.cer'

GO

--在镜像端点上为登陆赋予CONNECT权限

GRANTCONNECTONENDPOINT:

:

Endpoint_MirroringTO[MIR_A_login];

GO

--在MIR-B上为MIR-W创建登陆

USEmaster;

GO

CREATELOGINMIR_W_loginWITHPASSWORD='111111';

GO

--为以上登陆创建一个用户

CREATEUSERMIR_W_userFORLOGINMIR_W_login;

GO

--绑定证书到用户

CREATECERTIFICATEMIR_W_cert

AUTHORIZATIONMIR_W_user

FROMFILE='E:

\yangjj\MIR_W_cert.cer'

GO

--在镜像端点上为登陆赋予CONNECT权限

GRANTCONNECTONENDPOINT:

:

Endpoint_MirroringTO[MIR_W_login];

GO

6、为见证数据库配置入站连接

--在MIR-W上为MIR-A创建登陆

USEmaster;

GO

CREATELOGINMIR_A_loginWITHPASSWORD='111111';

GO

--为以上登陆创建一个用户

CREATEUSERMIR_A_userFORLOGINMIR_A_login;

GO

--绑定证书到用户

CREATECERTIFICATEMIR_A_cert

AUTHORIZATIONMIR_A_user

FROMFILE='E:

\yangjj\MIR_A_cert.cer'

GO

--在镜像端点上为登陆赋予CONNECT权限

GRANTCONNECTONENDPOINT:

:

Endpoint_MirroringTO[MIR_A_login];

GO

--在MIR-W上为MIR-B创建登陆

USEmaster;

GO

CREATELOGINMIR_B_loginWITHPASSWORD='111111';

GO

--为以上登陆创建一个用户

CREATEUSERMIR_B_userFORLOGINMIR_B_login;

GO

--绑定证书到用户

CREATECERTIFICATEMIR_B_cert

AUTHORIZATIONMIR_B_user

FROMFILE='E:

\yangjj\MIR_B_cert.cer'

GO

--在镜像端点上为登陆赋予CONNECT权限

GRANTCONNECTONENDPOINT:

:

Endpoint_MirroringTO[MIR_B_login];

GO

7、主机备份数据库

--检查并修改Northwind数据库使其为完整恢复模式(如果已是完整恢复模式,则省略此步)

ALTERDATABASEmirrorTestSETRECOVERYFULL;

GO

--在MIR_A的主体服务器实例上备份数据库并将备份文件复制到MIR_B上

BACKUPDATABASEmirrorTestTODISK='E:

\yangjj\mirrorTest.bak'WITHFORMAT

GO

8、镜像机还原数据库

--在MIR-B的镜像服务器实例上还原数据库:

RESTOREDATABASEmirrorTestFROMDISK='E:

\yangjj\mirrorTest.bak'WITHNORECOVERY

GO

9、为镜像数据库配置镜像伙伴

--在MIR-B的镜像服务器实例上,将MIR-A上的服务器实例设置为伙伴

ALTERDATABASEmirrorTestSETPARTNER='TCP:

//db04:

5024';

GO

10、为主体数据库配置镜像伙伴和见证服务器

--在MIR-A的主体服务器实例上,将MIR-B上的服务器实例设置为伙伴

ALTERDATABASEmirrorTestSETPARTNER='TCP:

//db04:

5024';

GO

--在MIR-A的主体服务器实例上,将MIR-W上的服务器实例设置为见证服务器

ALTERDATABASEmirrorTestSETWITNESS='TCP:

//db03:

5024';

GO

11、配置数据库镜像事务安全级别

ALTERDATABASEmirrorTestSETSAFETYFULL

GO

维护

1、查看数据库镜像状态

1.)通过Managementstudio对象资源管理器,查看主体数据库、镜像数据库状态

2.)通过Managementstudio对象资源管理器中的数据库属性查看状态

3.)通过系统目录视图查看数据库镜像配置情况

USEMASTER

GO

SELECT*FROMsys.database_mirroring_endpoints;

GO

SELECT*FROMsys.database_mirroringWHEREdatabase_id=

(SELECTdatabase_idFROMsys.databasesWHEREname='Northwind')

GO

2、测试故障转移

1.主备互换

--主机执行:

ALTERDATABASEmirrorTestSETPARTNERFAILOVER

--主服务器Down掉,备机紧急启动并且开始服务

ALTERDATABASEmirrorTestSETPARTNERFORCE_SERVICE_ALLOW_DATA_LOSS

--原来的主服务器恢复,可以继续工作,需要重新设定镜像

--备机执行:

USEmaster

--恢复镜像

ALTERDATABASEmirrorTestSETPARTNERRESUME

--切换主备

ALTERDATABASEmirrorTestSETPARTNERFAILOVER;

--停用镜像

ALTERDATABASEmirrorTestSETPARTNEROFF

--停用见证机

ALTERDATABASEmirrorTestSETWITNESSOFF

3.生成删除镜像相关对象脚本

--删除镜像端点

SELECT'DROPENDPOINT'+name

FROMsys.database_mirroring_endpoints

WHEREtype=4

--删除证书

SELECT'DROPCERTIFICATE'+name

FROMsys.certificates

WHEREnamenotlike'##%'

--删除用户

SELECT'DROPUSER'+nameFROMsys.sysusersWHEREnameLIKE'mir%'

--删除登录

SELECT'DROPLOGIN'+nameFROMsys.sysloginsWHEREnameLIKE'mir%'

--删除主密钥

ifexists(SELECT*fromsys.symmetric_keyswherename='##MS_DatabaseMasterKey##')

DROPmasterkey

常见错误

域名不正确,连接失败

主数据库,镜像,见证服务器最好都用域名,虽然有时用netbios名或ip也可以,但不稳定,服务器重启后有时镜像起不来。

如果服务器都已加入域,直接填写域名作为路径基本都不会有问题;

不加入域的情况下需要编辑hosts文件。

身份认证不正确,连接失败

域环境下注意用域帐号启动SQLSERVER服务;

非域环境下只能使用证书方式,配置步骤繁琐,注意SQL语句中用户名,证书名正确。

镜像库恢复不符合要求,开始同步时发生错误

如开始同步后报错:

Themirrordatabase,"UserDefinedDatabase",hasinsufficienttransactionlogdatatopreservethelogbackupchainoftheprincipaldatabase.Thismayhappenifalogbackup

fromtheprincipaldatabasehasnotbeentakenorhasnotbeenrestoredonthemirrordatabase.(MicrosoftSQLServer,Error:

1478)

解决办法:

可从主机增加事务日志备份,到镜像机恢复

----------------------------------------------------------------------------------------------------------------------

补充说明:

两台数据库做镜像,不管是哪台数据库出了问题,另外一台数据库都可以保证

正常对外提供服务。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2