基于证书的sqlserver镜像搭建
【摘要】 Sqlserver数据库镜像的搭建步骤0、首先在hosts文件中添加IP映射(主库和镜像库上都添加)192.168.3.13 node1192.168.3.10 node21、创建主密钥(主库和镜像库上都执行)use mastergocreate master key encryption by password='$a123456'go2、创建主库和镜像库的证书(分别在主库和镜像库上执...
Sqlserver数据库镜像的搭建步骤
0、首先在hosts文件中添加IP映射(主库和镜像库上都添加)
192.168.3.13 node1 192.168.3.10 node2 |
1、创建主密钥(主库和镜像库上都执行)
use master |
2、创建主库和镜像库的证书(分别在主库和镜像库上执行)
主库上执行: use master 镜像库上执行: use master |
3、创建主库和镜像库的端点
主库上执行: use master 镜像库上执行: use master |
4、备份证书(主库和镜像的库的都备份,并互相拷贝过去,保证每个服务器上都有2个证书)
主库上执行: use master 镜像库上执行: use master |
5、创建登录名(这个要和证书关联,所以1创建2的,2创建1的)
主库上执行: use master 镜像库上执行: use master |
6、创建使用该登录名的用户
主库上执行: use master 镜像库上执行: use master |
7、证书与用户关联
主库上执行: use master 镜像库上执行: use master |
8、授予对远程数据库端点的登录名的CONNECT权限
命令: 主库上执行: use master 镜像库上执行: use master |
9、对需要做镜像的数据库做完整备份和事务日志备份,
1.完整备份 BACKUP DATABASE [test] TO DISK = N'D:\bak\test.bak' WITH NOFORMAT, INIT, NAME = N'test-完整 数据库 备份', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10 GO declare @backupSetId as int select @backupSetId = position from msdb..backupset where database_name=N'test' and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=N'test' ) if @backupSetId is null begin raiserror(N'验证失败。找不到数据库“test”的备份信息。', 16, 1) end RESTORE VERIFYONLY FROM DISK = N'D:\bak\test.bak' WITH FILE = @backupSetId, NOUNLOAD, NOREWIND GO
2.事物日志备份 BACKUP LOG [test] TO DISK = N'D:\bak\test_log.tran' WITH NOFORMAT, INIT, NAME = N'test-完整 数据库 备份', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10 GO declare @backupSetId as int select @backupSetId = position from msdb..backupset where database_name=N'test' and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=N'test' ) if @backupSetId is null begin raiserror(N'验证失败。找不到数据库“test”的备份信息。', 16, 1) end RESTORE VERIFYONLY FROM DISK = N'D:\bak\test_log.tran' WITH FILE = @backupSetId, NOUNLOAD, NOREWIND GO
|
10、把主库上的备份在镜像库上做还原(先还原完整备份,再还原事务日志),使用NORECOVERY模式
1.还原完整备份 USE [master] RESTORE DATABASE [test] FROM DISK = N'D:\bak\test.bak' WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 5 GO 2.还原事物日志 RESTORE LOG [test] FROM DISK = N'D:\bak\ test.tran' WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 10 GO
|
注:同样的操作方式把其他库也备份一下
11、连接镜像(先在镜像库上操作,然后在主库上操作)
镜像库上执行:(做完这个操作后,数据库的状态:正在恢复) use master 主库上执行:(做完这个操作,镜像就搭建好了) use master
|
注:同样的操作方式把其他库弄一下即可
12、灾备切换方式
主库宕机后,只要在镜像库上执行如下2个SQL即可
第一步:脱离镜像 第二步;修改数据库的状态为recovery
|
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)