1、SQLServer镜像配置操作SQLServer 数据库镜像配置文档1. 设置SQLServer服务启动账户a) 在“主服务器”及“从服务器”2个服务器上,都创建一模一样(包括登录名及密码都一样)的Windows登录账户。例如:在主服务器上创建登录名aa 密码123456的账户,那么在从服务器上也相应创建登录名aa 密码123456的账户。b) 为上面创建的Windows账户分配权限。至少分配为管理员权限,也可全部分配所有权限。c) 设置SQLServer服务的启动账户为上面创建的Windows账户。(注意更改SQLServere服务账户为导致SQLServere服务重启)操作步骤,打开“SQ
2、L Server 配置管理器”点击“SQL Server 服务”右键“SQL Server(实例名)”点击“登录”页签点击“本账户”填入上面新创建的账户名称及密码点击“确定”即完成。如下图:注:如果有域账户,可直接设置SQLServer服务的启动账户为域账户。并可跳过下面第2.点“设置镜像端点及证书验证”的操作步骤。2. 设置镜像端点及证书验证a) 在主服务器上执行如下TSQL语句use master;GO- drop master KEYCREATE MASTER KEY ENCRYPTION BY PASSWORD = 123456;GO- DROP CERTIFICATE host_1_
3、certCREATE CERTIFICATE host_1_cert WITH SUBJECT = 镜像出站证书 Principal Server Certificate, START_DATE = 2017/01/01, EXPIRY_DATE = 2025/01/01;GO- DROP ENDPOINT 镜像出站CREATE ENDPOINT 镜像出站 STATE = STARTED AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE h
4、ost_1_cert, ENCRYPTION = REQUIRED ALGORITHM AES, ROLE = ALL);GOBACKUP CERTIFICATE host_1_cert TO FILE = D:Certshost_1_cert.cerGOb) 在从服务器上执行如下TSQL语句USE masterGO- drop master KEYCREATE MASTER KEY ENCRYPTION BY PASSWORD = 123456;GO- DROP CERTIFICATE host_2_certCREATE CERTIFICATE host_2_cert WITH SUBJEC
5、T = 镜像入站证书 Mirror Server Certificate, START_DATE = 2017/01/01, EXPIRY_DATE = 2025/01/01;GO- DROP ENDPOINT 镜像入站CREATE ENDPOINT 镜像入站 STATE = STARTED AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE host_2_cert, ENCRYPTION = REQUIRED ALGORITHM AES,
6、ROLE = ALL );GOBACKUP CERTIFICATE host_2_cert TO FILE = D:Certshost_2_cert.cer;GOc) 交换证书将主服务器D:Certshost_1_cert.cer的证书复制到从服务器的D:Certs目录下。将从服务器D:Certshost_2_cert.cer的证书复制到主服务器的D:Certs目录下。d) 在主服务器上执行如下TSQL语句USE MASTERGO- DROP LOGIN host_2_loginCREATE LOGIN host_2_login WITH PASSWORD = 123456;GO- DROP
7、USER host_2_userCREATE USER host_2_user FOR LOGIN host_2_login;GO- DROP CERTIFICATE host_2_certCREATE CERTIFICATE host_2_cert AUTHORIZATION host_2_user FROM FILE = D:Certshost_2_cert.cer;GOGRANT CONNECT ON ENDPOINT:镜像出站 TO host_2_login;GOe) 在从服务器上执行如下TSQL语句USE MASTERGO- DROP LOGIN host_1_loginCREATE
8、 LOGIN host_1_login WITH PASSWORD = 123456;go- DROP USER host_1_userCREATE USER host_1_user FROM LOGIN host_1_login;go- DROP CERTIFICATE host_1_certCREATE CERTIFICATE host_1_cert AUTHORIZATION host_1_user FROM FILE = D:Certshost_1_cert.cer;GoGRANT CONNECT ON Endpoint:镜像入站 TO host_1_login;go3. 备份主服务器
9、上的主数据库一共要做2次备份,一次是完整备份,一次是事务日志备份。操作步骤,右键数据库选择“任务”选择“备份”,如下图:4. 在从服务器上还原数据库复制上面的备份文件到从服务器上去做还原。一共要做2次还原,一次是完整还原,一次是事务日志还原。a) 先还原数据库,操作步骤:右键树节点“数据库”选择“还原数据库”,然后按界面提示操作。b) 再还原事务日志,操作步骤:展开树节点“数据库”右键具体的数据库选择“任务”选择“还原”选择“事务日志”,然后按界面提示操作。注意:还原时都要选择 WITH NORECOVERY 选项。如下图:5. 配置Hosts文件在主从服务器上的Hosts文件中,都配置主从服
10、务器主机名称及IP地址的映射。Hosts文件在Win7系统中所属的目录是C:WindowsSystem32driversetchosts下图是示例:6. 执行镜像操作镜像操作在主服务器主数据库上执行。镜像操作步骤:右键具体的主数据库选择“属性”菜单在弹出窗选择“镜像”点击“配置安全性”按钮按提示操作下一步下一步直到完成即可,如下列图:注意1:在选择“开始镜像、不开始镜像”的界面;a) 如果选择了“开始镜像”,那么,完成后,要点击“暂停”按钮然后选择“高性能(异步)”选项然后再点“继续”。如下图。b) 如果选择了“不开始镜像”,那么,随后可直接选择“高性能(异步)”选项再点击“开始镜像”按钮。如
11、下图。注意2:如果没有做上面第5点配置Hosts的操作,并且主从两主机又不在同网段上。那么,在选择“开始镜像、不开始镜像”的界面时,一定要点击“不开始镜像”,随后在“服务器网络地址”栏中,手工填写IP地址。如下图。完成后,即可看到相应的镜像,如下图:7. (可选操作)创建快照镜像里面的数据无法直接打开查看,如果一定要看,只能通过创建快照来查看。需要注意的是,镜像的快照不是实时更新的,如果想看最新数据,就要创建最新的快照,并且快照会占用和源数据库一样大小的磁盘空间,所以快照不用的时候,应该删除。执行下面TSQL语句可以创建快照:CREATE DATABASE DB_PayCard_Test_snapshot ON ( NAME = DB_PayCard, FILENAME = D:SqlServerDBDirSnapshotFileDB_PayCard_Test_snapshot.ss ) AS SNAPSHOT OF DB_PayCard_Test ; GO 附加说明:DB_PayCard_Test_snapshot 是快照名称,可以随意起名。NAME = DB_PayCard 注意一定要填写源数据库里面的数据文件相同的逻辑名称,如下图:DB_PayCard_Test 是对应的镜像名称。完成后,即可在SQLServer管理器中看到所创建的快照。8. 标题9. 标题
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2