SQLServer镜像配置操作.docx
《SQLServer镜像配置操作.docx》由会员分享,可在线阅读,更多相关《SQLServer镜像配置操作.docx(15页珍藏版)》请在冰点文库上搜索。
![SQLServer镜像配置操作.docx](https://file1.bingdoc.com/fileroot1/2023-5/4/524c4678-c492-4ec4-9196-80e01ab19b1e/524c4678-c492-4ec4-9196-80e01ab19b1e1.gif)
SQLServer镜像配置操作
SQLServer数据库镜像配置文档
1.设置SQLServer服务启动账户
a)在“主服务器”及“从服务器”2个服务器上,都创建一模一样(包括登录名及密码都一样)的Windows登录账户。
例如:
在主服务器上创建登录名aa密码123456的账户,那么在从服务器上也相应创建登录名aa密码123456的账户。
b)为上面创建的Windows账户分配权限。
至少分配为管理员权限,也可全部分配所有权限。
c)设置SQLServer服务的启动账户为上面创建的Windows账户。
(注意更改SQLServere服务账户为导致SQLServere服务重启)
操作步骤,打开“SQLServer配置管理器”》点击“SQLServer服务”》右键“SQLServer(实例名)”》点击“登录”页签》点击“本账户”》填入上面新创建的账户名称及密码》点击“确定”即完成。
如下图:
注:
如果有域账户,可直接设置SQLServer服务的启动账户为域账户。
并可跳过下面第2.点“设置镜像端点及证书验证”的操作步骤。
2.设置镜像端点及证书验证
a)在主服务器上执行如下TSQL语句
usemaster;
GO
--dropmasterKEY
CREATEMASTERKEYENCRYPTIONBYPASSWORD='123456';
GO
--DROPCERTIFICATEhost_1_cert
CREATECERTIFICATEhost_1_certWITHSUBJECT='镜像出站证书PrincipalServerCertificate',START_DATE='2017/01/01',EXPIRY_DATE='2025/01/01';
GO
--DROPENDPOINT镜像出站
CREATEENDPOINT镜像出站STATE=STARTED
ASTCP(LISTENER_PORT=5022,LISTENER_IP=ALL)
FORDATABASE_MIRRORING(AUTHENTICATION=CERTIFICATEhost_1_cert,ENCRYPTION=REQUIREDALGORITHMAES,ROLE=ALL);
GO
BACKUPCERTIFICATEhost_1_certTOFILE='D:
\Certs\host_1_cert.cer'
GO
b)在从服务器上执行如下TSQL语句
USEmaster
GO
--dropmasterKEY
CREATEMASTERKEYENCRYPTIONBYPASSWORD='123456';
GO
--DROPCERTIFICATEhost_2_cert
CREATECERTIFICATEhost_2_certWITHSUBJECT='镜像入站证书MirrorServerCertificate',START_DATE='2017/01/01',EXPIRY_DATE='2025/01/01';
GO
--DROPENDPOINT镜像入站
CREATEENDPOINT镜像入站STATE=STARTED
ASTCP(LISTENER_PORT=5022,LISTENER_IP=ALL)
FORDATABASE_MIRRORING(AUTHENTICATION=CERTIFICATEhost_2_cert,ENCRYPTION=REQUIREDALGORITHMAES,ROLE=ALL);
GO
BACKUPCERTIFICATEhost_2_cert
TOFILE='D:
\Certs\host_2_cert.cer';
GO
c)交换证书
将主服务器D:
\Certs\host_1_cert.cer的证书复制到从服务器的D:
\Certs\目录下。
将从服务器D:
\Certs\host_2_cert.cer的证书复制到主服务器的D:
\Certs\目录下。
d)在主服务器上执行如下TSQL语句
USEMASTER
GO
--DROPLOGINhost_2_login
CREATELOGINhost_2_loginWITHPASSWORD='123456';
GO
--DROPUSERhost_2_user
CREATEUSERhost_2_userFORLOGINhost_2_login;
GO
--DROPCERTIFICATEhost_2_cert
CREATECERTIFICATEhost_2_cert
AUTHORIZATIONhost_2_user
FROMFILE='D:
\Certs\host_2_cert.cer';
GO
GRANTCONNECTONENDPOINT:
:
镜像出站TOhost_2_login;
GO
e)在从服务器上执行如下TSQL语句
USEMASTER
GO
--DROPLOGINhost_1_login
CREATELOGINhost_1_loginWITHPASSWORD='123456';
go
--DROPUSERhost_1_user
CREATEUSERhost_1_userFROMLOGINhost_1_login;
go
--DROPCERTIFICATEhost_1_cert
CREATECERTIFICATEhost_1_cert
AUTHORIZATIONhost_1_user
FROMFILE='D:
\Certs\host_1_cert.cer';
Go
GRANTCONNECTONEndpoint:
:
镜像入站TOhost_1_login;
go
3.备份主服务器上的主数据库
一共要做2次备份,一次是完整备份,一次是事务日志备份。
操作步骤,右键数据库》选择“任务”》选择“备份”,如下图:
4.在从服务器上还原数据库
复制上面的备份文件到从服务器上去做还原。
一共要做2次还原,一次是完整还原,一次是事务日志还原。
a)先还原数据库,操作步骤:
右键树节点“数据库”》选择“还原数据库”,然后按界面提示操作。
b)再还原事务日志,操作步骤:
展开树节点“数据库”》右键具体的数据库》选择“任务”》选择“还原”》选择“事务日志”,然后按界面提示操作。
注意:
还原时都要选择WITHNORECOVERY选项。
如下图:
5.配置Hosts文件
在主从服务器上的Hosts文件中,都配置主从服务器主机名称及IP地址的映射。
Hosts文件在Win7系统中所属的目录是C:
\Windows\System32\drivers\etc\hosts
下图是示例:
6.执行镜像操作
镜像操作在主服务器主数据库上执行。
镜像操作步骤:
右键具体的主数据库》选择“属性”菜单》在弹出窗选择“镜像”》点击“配置安全性”按钮》按提示操作下一步下一步》直到完成即可,如下列图:
注意1:
在选择“开始镜像、不开始镜像”的界面;
a)如果选择了“开始镜像”,那么,完成后,要点击“暂停”按钮》然后选择“高性能(异步)”选项》然后再点“继续”。
如下图。
b)如果选择了“不开始镜像”,那么,随后可直接选择“高性能(异步)”选项》再点击“开始镜像”按钮。
如下图。
注意2:
如果没有做上面第5点配置Hosts的操作,并且主从两主机又不在同网段上。
那么,在选择“开始镜像、不开始镜像”的界面时,一定要点击“不开始镜像”,随后在“服务器网络地址”栏中,手工填写IP地址。
如下图。
完成后,即可看到相应的镜像,如下图:
7.(可选操作)创建快照
镜像里面的数据无法直接打开查看,如果一定要看,只能通过创建快照来查看。
需要注意的是,镜像的快照不是实时更新的,如果想看最新数据,就要创建最新的快照,并且快照会占用和源数据库一样大小的磁盘空间,所以快照不用的时候,应该删除。
执行下面TSQL语句可以创建快照:
CREATEDATABASEDB_PayCard_Test_snapshotON
(NAME=DB_PayCard,FILENAME=
'D:
\SqlServerDBDir\SnapshotFile\DB_PayCard_Test_snapshot.ss')
ASSNAPSHOTOF[DB_PayCard_Test];
GO
附加说明:
DB_PayCard_Test_snapshot是快照名称,可以随意起名。
NAME=DB_PayCard注意一定要填写源数据库里面的数据文件相同的逻辑名称,如下图:
DB_PayCard_Test是对应的镜像名称。
完成后,即可在SQLServer管理器中看到所创建的快照。
8.标题
9.标题