加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SqlServer 2008镜像配置

发布时间:2020-12-12 13:10:27 所属栏目:MsSql教程 来源:网络整理
导读:本文章参考了多篇文章,以下内容为精简: 一. 创建证书文件 --1.删除镜像端点 ?? IF ?EXISTS (SELECT * FROM sys.endpoints e WHERE e.name = N'DatabaseMirroring') ?? DROP ENDPOINT [DatabaseMirroring] ?? GO ?? --2.删除证书 ?? USE master; ?? DROP CE

本文章参考了多篇文章,以下内容为精简:

一. 创建证书文件 --1.删除镜像端点 ?? IF ?EXISTS (SELECT * FROM sys.endpoints e WHERE e.name = N'DatabaseMirroring') ?? DROP ENDPOINT [DatabaseMirroring] ?? GO ?? --2.删除证书 ?? USE master; ?? DROP CERTIFICATE HOST_MASTER_cert ?? --3.删除主密钥 ?? USE master; ?? DROP ?MASTER KEY --创建主密钥 ?? USE master; ?? CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password'; --演示所需,否则不要设置这么简单的密码 ?? GO ? USE master; ?? CREATE CERTIFICATE HOST_MASTER_cert ?? ? ?WITH SUBJECT = 'HOST_MASTER certificate'--在Winess实例上创建证书,命名为HOST_MASTER_cert,这个选项是描述证书 ?? ? ?,EXPIRY_DATE ='2055-10-1' ;--证书过期时间,可以适当设置长一点,具体按实际需要设置 ?? GO ? ? CREATE ENDPOINT DatabaseMirroring ?? ? ?STATE = STARTED ?? ? ?AS TCP ( ?? ? ? ? LISTENER_PORT=5022 ? ? ? ? ? ? ? ? ? ? ? ?--使用5022端口,这个端口可以改成未被使用的端口,但是镜像过程中的所有合作者都应该使用相同的端口 ?? ? ? ?,LISTENER_IP = ALL ?? ? ?) ?? ? ?FOR DATABASE_MIRRORING ( ?? ? ? ? AUTHENTICATION = CERTIFICATE HOST_MASTER_cert ? ?--使用证书来授权端点 ?? ? ? ?,ENCRYPTION = REQUIRED ALGORITHM AES ?? ? ? ?,ROLE = ALL ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?--表示这个端点可以作为任何角色,包括主服务器、镜像服务器、见证服务器。? ? ? ?); ?? GO ? BACKUP CERTIFICATE HOST_MASTER_cert TO FILE = 'D:CertificationsHOST_MASTER_cert.cer'; ?? GO ? 二.创建账号/用户并进行证书授权 /* ?? --删除账号 ?? DROP LOGIN HOST_A_user ?? */? --创建登陆帐号 USE master;? CREATE LOGIN Host_MIRROR_Login WITH PASSWORD = 'password'; GO --创建用户,映射至登陆帐号 USE master;? CREATE USER Host_MIRROR_User For Login Host_MIRROR_Login;? GO --创建一个新的证书,并使用从伙伴服务器中复制过来的证书导入,然后映射登陆账号到这个新证书上 CREATE CERTIFICATE Host_MIRROR_Cert ?? AUTHORIZATION Host_MIRROR_User ?? FROM FILE = 'D:CertificationsHost_MIRROR_Cert.cer';? --授予这个新账号连接端点的权限 ?? GRANT CONNECT ON ENDPOINT::DatabaseMirroring TO HOST_MIRROR_login; ?? GO? 三.从主数据库还原至镜像数据库 1.完整备份mydb到共享文件夹D:ShareFolders 2.复制备份文件到镜像服务器 3.以Nonrecovery选项还原mydb到镜像服务器 4.日志备份mydb,并同样方式还原到镜像mydb(备份文件中包含全部数据文件跟日志文件) 5.在镜像服务器上执行下面脚本: ALTER DATABASE mydb ? ? SET PARTNER = 'TCP://***:5022'; ? GO 6.在主体服务器执行下面脚本,把RepB添加成RepA的伙伴 ALTER DATABASE mydb ?? ? ? SET PARTNER = 'TCP://***:5022'; ? GO ? 7.切换模式(自定义选择) alter database mydb set partner safety full; ?--设置数据库高安全模式 alter database mydb set partner safety off; ? --设置数据库高性能模式 四.数据库镜像运维方案 --1. 主服务器断开,在镜像服务器上执行操作,镜像服务器->主服务器 ALTER DATABASE [mydb] SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS 镜像服务器状态:主体,已断开连接 主体服务器状态:镜像,挂起/正在还原... --2. 主服务器恢复,在镜像服务器执行操作,主附 alter database [mydb] set partner resume 镜像服务器状态:主体,已同步 主体服务器状态:镜像,已同步/正在还原... 此时,主服务器与镜像服务器完全切换,处于互热备状态 --3. 切换回原始的主体镜像服务器 USE master; ALTER DATABASE [mydb] SET PARTNER FAILOVER; --切换主备 镜像服务器状态:镜像,已同步/正在还原... 主体服务器状态:主体,已同步 可以发现,主体与镜像完全切换回来。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读