设为首页 收藏本站
查看: 1228|回复: 0

[经验分享] SQL Server 2008 R2高可用解决方案--镜像(证书)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-10-25 10:40:15 | 显示全部楼层 |阅读模式
SQL Server高可用方案--镜像搭建(证书)
环境:
角色
IP
操作系统
数据库版本
数据库

192.168.10.8
Windows Server  2008 R2
SQL Server 2008 R2
fdb

192.168.10.9
Windows Server  2008 R2
SQL Server 2008 R2
fdb

一.环境检查
1.网络是否互通
2.防火墙端口是否开放(需要开放1433、5022端口)
3.数据库软件版本是否有差异(软件版本为SQL Server 2008 R2)
4.SQL Server数据库的恢复模式确认,需要为“完整模式”
wKioL1gNxxbirI7xAABPAMv7rSE443.jpg
如果不是完整模式可以使用
USE [master]   
GO   
ALTER DATABASE [fdb]SET RECOVERY FULL WITH NO_WAIT   
GO
进行更改,当然也可以通过上面的图形界面进行更改

二.使用证书配置镜像,并备份还原数据库
主服务器(192.168.10.8)
备服务器(192.168.10.9)
1.创建数据库主密钥
USE master   
GO   
CREATE MASTER KEY  ENCRYPTION BY PASSWORD = 'pa$$w0rd';


/* 删除主密钥
USE master;
DROP MASTER KEY
*/

2.创建证书并使用主密钥加密
USE master   
GO   
CREATE CERTIFICATE  Host_8_Cert   
WITH Subject =  'Host_8 Certificate',   
Expiry_Date =  '2055-1-1'; --过期日期


/*删除证书
USE master;
DROP CERTIFICATE  Host_8_Cert
*/

3.创建端点:
创建端点之前,先查找下看是否已经存在端点:
select * from  sys.database_mirroring_endpoints
如果需要删除端点
drop endpoint 端点名

IF NOT EXISTS (  SELECT  1   
                FROM    sys.database_mirroring_endpoints )   
    BEGIN   
        CREATE ENDPOINT [DatabaseMirroring]  STATE = STARTED AS TCP ( LISTENER_PORT = 5022,   
            LISTENER_IP = ALL ) FOR  DATABASE_MIRRORING ( AUTHENTICATION =   
            CERTIFICATE Host_8_Cert, ENCRYPTION =  REQUIRED Algorithm AES, ROLE =   
            ALL );   
    END


4.备份证书
在D盘创建Cert目录
BACKUP CERTIFICATE  Host_8_Cert   
TO FILE = 'D:\Cert\Host_8_Cert.cer';
1.创建数据库主密钥
USE master   
GO   
CREATE MASTER KEY  ENCRYPTION BY PASSWORD = 'pa$$w0rd';


/* 删除主密钥
USE master;
DROP MASTER KEY
*/

2.创建证书并使用主密钥加密
USE master   
GO   
CREATE CERTIFICATE  Host_9_Cert   
WITH Subject =  'Host_9 Certificate',   
Expiry_Date =  '2055-1-1'; --过期日期


/*删除证书
USE master;
DROP CERTIFICATE  Host_9_Cert
*/

3.创建端点:
创建端点之前,先查找下看是否已经存在端点:
select * from  sys.database_mirroring_endpoints
如果需要删除端点
drop endpoint 端点名

IF NOT EXISTS (  SELECT  1   
                FROM    sys.database_mirroring_endpoints )   
    BEGIN   
        CREATE ENDPOINT [DatabaseMirroring]  STATE = STARTED AS TCP ( LISTENER_PORT = 5022,   
            LISTENER_IP = ALL ) FOR  DATABASE_MIRRORING ( AUTHENTICATION =   
            CERTIFICATE Host_9_Cert,  ENCRYPTION = REQUIRED Algorithm AES, ROLE =   
             ALL );   
    END


4.备份证书
在D盘创建Cert目录
BACKUP CERTIFICATE  Host_9_Cert   
TO FILE = 'D:\Cert\Host_9_Cert.cer';
通过以上我们分别在10.8创建以Host_8_Cert证书认证的端点,以及在10.9创建了以Host_9_Cert证书认证的端点。

将D盘Cert目录下的Host_8_Cert证书复制到10.9服务器的对应的位置,同时将10.9上的Host_9_Cert证书复制到10.8服务器上

192.168.10.8
192.168.10.9
5.创建一个登录给镜像服务器10.9使用
CREATE LOGIN Host_9_Login  WITH PASSWORD = 'pa$$w0rd';      

6.创建一个用户以映射到上面创建的登录中
CREATE USER Host_9_User  For Login Host_9_Login;

7.使用证书进行授权
CREATE CERTIFICATE  Host_9_Cert   
AUTHORIZATION  Host_9_User   
FROM FILE = 'D:\Cert\Host_9_Cert.cer';  

8.对登录进行连接端点的授权
GRANT CONNECT ON  ENDPOINT::[DatabaseMirroring] TO [Host_9_Login];
5.创建一个登录给镜像服务器10.8使用
CREATE LOGIN Host_8_Login  WITH PASSWORD = 'pa$$w0rd';      

6.创建一个用户以映射到上面创建的登录中
CREATE USER Host_8_User  For Login Host_8_Login;

7.使用证书进行授权
CREATE CERTIFICATE  Host_8_Cert   
AUTHORIZATION  Host_8_User   
FROM FILE = 'D:\Cert\Host_8_Cert.cer';  

8.对登录进行连接端点的授权
GRANT CONNECT ON  ENDPOINT::[DatabaseMirroring] TO [Host_8_Login];

9.在主服务器对数据库进行备份,以及日志进行备份(192.168.10.8)
数据库备份
wKiom1gNxzeCzLJ6AACT_YulTvo519.jpg

日志备份
wKiom1gNx0bgR2_OAACCEor95K8607.jpg
数据库和日志备份是可以备份到一个文件。

10.在备机上对数据库进行还原(192.168.10.9)
wKiom1gNx1fCC13qAACNLyIlHyo130.jpg
a.选中源设备,并选中备份集中的“完整数据库备份”,并选择目录数据库为fdb
b.点击“选项”进行不回滚事务的恢复
wKioL1gNx2TBOKM_AACtgCLG6pM973.jpg

使用同样的方法对事务日志也进行“不回滚提交事务的恢复”
恢复完之后可以看到数据库,提示“正在还原”
wKioL1gNx3ax3qdGAAAh_G11PN0380.jpg

三.配置镜像
在192.168.10.9中执行
ALTER DATABASEfdb   
    SET PARTNER = 'TCP://192.168.10.8:5022';  
GO  

然后再在192.168.10.8中执行
ALTER DATABASEfdb   
    SET PARTNER = 'TCP://192.168.10.9:5022';  
GO  

到这里数据库的镜像就配置成功了
wKiom1gNx4LRVdFHAADVhzYfLN4293.jpg

wKioL1gNx7iSJ4k6AABjz2yr6qY370.jpg



四.主备切换
1.在高安全模式下:
在主机执行:
use master;
alter database fdbset partner failover;
即完成主备切换

2.在高性能模式下,需要先切换到高安全模式下再执行切换
use master;
alter database fdbset partner safety full;
alter database fdbset partner failover;

3.在主机(10.8)宕机的情况下在备机(10.9)进行强制切换:
use master;
alter database fdbset partner FORCE_SERVICE_ALLOW_DATA_LOSS;
当主机(10.8)重新开机后,在10.9机器上执行
use master;
alter database fdbset partner resume;
此时10.8成为了备机,而10.9成为了主机。
再到10.9机器上执行
alter database fdbset partner failover;
就成了10.8成为主机,10.9成为备机




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-290972-1-1.html 上篇帖子: 正确理解SQL Server配置timeout相关选项 下篇帖子: [sql server] 解决SQL Server安装挂起
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表