非域环境下使用证书部署数据库(SqlServer2008R2)镜像

前言

部署数据库镜像一般有两种方式域环境下部署http://liulike.blog.51cto.com/1355103/339183 和 非域环境下 证书部署参考地址: http://www.cnblogs.com/shanyou/archive/2010/05/10/1732007.html

这里是自己在三个虚拟机非域环境下部署测试的

一、环境

数据库

系统

IP

角色

SqlServer2008R2

Server 2008R2

10.10.0.52

主体

SqlServer2008R2

Server 2008R2

10.10.0.53

镜像

SqlServer2008R2

Server 2008R2

10.10.0.54

见证

配置数据库镜像之前 需要打开端口1433和5022 是三台服务器的都要

下面将图示说明开启1433和5022的步骤:

  1. 打开防火墙-》高级设置

二、镜像部署

1证书与端点(出站连接)

1.1主题服务器

USE master;  --DROP MASTER KEY
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '1qaz!QAZ';
GO  --为主体服务器 host_A 实例制作一个证书。  --DROP CERTIFICATE host_A_cert
CREATE CERTIFICATE host_A_cert
WITH SUBJECT = 'host_A certificate',START_DATE = '3/12/2015',EXPIRY_DATE = '01/01/2099';
GO   --使用该证书为服务器实例创建一个镜像端点。  --DROP ENDPOINT Endpoint_Mirroring
CREATE ENDPOINT Endpoint_Mirroring
STATE = STARTED
AS TCP (
LISTENER_PORT=5022
, LISTENER_IP = ALL
)
FOR DATABASE_MIRRORING (
AUTHENTICATION = CERTIFICATE host_A_cert
, ENCRYPTION = REQUIRED ALGORITHM AES
, ROLE = PARTNER
);
GO  --备份host_A 证书,并将其复制到镜像服务器 host_B 和见证服务器 host_C  BACKUP CERTIFICATE host_A_cert TO FILE = 'c:\DbMirror\host_A.cer';
GO  

1.2镜像服务器

/***********************************************
在镜像服务器 host_B 执行此脚本
***********************************************/USE master;--DROP MASTER KEY
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '1qaz!QAZ';
GO--为镜像服务器 host_B 实例制作一个证书。
--DROP CERTIFICATE host_B_cert
CREATE CERTIFICATE host_B_cert
WITH SUBJECT = 'host_B certificate',START_DATE = '3/12/2015',EXPIRY_DATE = '01/01/2099';
GO--在 host_B 中为服务器实例创建一个镜像端点。
--DROP ENDPOINT Endpoint_Mirroring
CREATE ENDPOINT Endpoint_Mirroring
STATE = STARTED
AS TCP (
LISTENER_PORT=5022
, LISTENER_IP = ALL
) FOR DATABASE_MIRRORING (
AUTHENTICATION = CERTIFICATE host_B_cert
, ENCRYPTION = REQUIRED ALGORITHM AES
, ROLE = PARTNER
);
GO--备份 host_B 证书,并将其复制到主体服务器 host_A 和见证服务器 host_C 上BACKUP CERTIFICATE host_B_cert TO FILE = 'c:\DbMirror\host_B.cer';
GO

1.3见证服务器

/****************************
见证服务器 host_C 执行
*****************************/--ALTER DATABASE MirrorDB SET PARTNER OFF
USE master;
--DROP MASTER KEY
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '1qaz!QAZ';
GO--为此服务器实例制作一个证书。
--DROP CERTIFICATE host_C_cert
CREATE CERTIFICATE host_C_cert
WITH SUBJECT = 'host_C certificate',START_DATE = '3/12/2015',EXPIRY_DATE = '01/01/2099';
GO--使用该证书为服务器实例创建一个镜像端点。
--DROP ENDPOINT Endpoint_Mirroring
CREATE ENDPOINT Endpoint_Mirroring
STATE = STARTED
AS TCP (
LISTENER_PORT=5022
, LISTENER_IP = ALL
)FOR DATABASE_MIRRORING (
AUTHENTICATION = CERTIFICATE host_C_cert
, ENCRYPTION = REQUIRED ALGORITHM AES
, ROLE = WITNESS
);
GO--备份 host_C 证书,并将其复制到主体服务器 host_A 和镜像服务器 host_C 上BACKUP CERTIFICATE host_C_cert TO FILE = 'c:\dbmirror\host_C.cer';
GO

2配置出站连接

2.1主体服务器

--在 host_A 上为镜像服务器 host_B 创建一个登录名。USE master;
--DROP LOGIN host_B_login
CREATE LOGIN host_B_login WITH PASSWORD = '1qaz!QAZ';
GO--创建一个使用该登录名的用户。
--DROP USER host_B_user
CREATE USER host_B_user FOR LOGIN host_B_login;
GO--使证书与该用户关联。
--DROP CERTIFICATE host_B_cert
CREATE CERTIFICATE host_B_cert
AUTHORIZATION host_B_user
FROM FILE = 'c:\DbMirror\host_B.cer'
GO--授予对远程镜像端点的登录名的 CONNECT 权限。
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [host_B_login];
GO--在主体服务器 host_A 上为见证服务器 host_C 创建一个登录名。
USE master;
--DROP LOGIN host_C_login
CREATE LOGIN host_C_login WITH PASSWORD = '1qaz!QAZ';
GO--创建一个使用该登录名的用户。
--DROP USER host_C_user
CREATE USER host_C_user FOR LOGIN host_C_login;GO--使证书与该用户关联。
--DROP CERTIFICATE host_C_cert
CREATE CERTIFICATE host_C_cert
AUTHORIZATION host_C_user
FROM FILE = 'c:\DbMirror\host_C.cer'
GO--授予对远程镜像端点的登录名的 CONNECT 权限。
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [host_C_login];
GO--主体服务器上创建用于本机的登录名(MS可以省略)
USE master;
--DROP LOGIN host_A_login
CREATE LOGIN host_A_login WITH PASSWORD= '1qaz!QAZ';
GO--创建一个使用该登录名的用户。
--DROP USER host_A_user
CREATE USER host_A_user FOR CERTIFICATE host_A_cert;
GO--授予对远程镜像端点的登录名的 CONNECT 权限。
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [host_A_login];
GO

2.2镜像服务器

--在镜像服务器 host_B 上为主体服务器 host_A 创建一个登录名。USE master;
--DROP LOGIN host_A_login
CREATE LOGIN host_A_login WITH PASSWORD = '1qaz!QAZ';
GO--创建一个使用该登录名的用户。
--DROP USER host_A_user
CREATE USER host_A_user FOR LOGIN host_A_login;
GO--使证书与该用户关联。
--DROP CERTIFICATE host_A_cert
CREATE CERTIFICATE host_A_cert
AUTHORIZATION host_A_user
FROM FILE = 'c:\Dbmirror\host_A.cer'
GO--授予对远程镜像端点的登录名的 CONNECT 权限。
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [host_A_login];
GO--在镜像服务器 host_B 上为见证服务器 host_C 创建一个登录名。USE master;
--DROP LOGIN host_C_login
CREATE LOGIN host_C_login WITH PASSWORD = '1qaz!QAZ';
GO----创建一个使用该登录名的用户。
--DROP USER host_C_user
CREATE USER host_C_user FOR LOGIN host_C_login;
GO----使证书与该用户关联。
--DROP CERTIFICATE host_C_cert
CREATE CERTIFICATE host_C_cert
AUTHORIZATION host_C_user
FROM FILE = 'c:\Dbmirror\host_C.cer'
GO----授予对远程镜像端点的登录名的 CONNECT 权限。
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [host_C_login];
GO--在镜像服务器 host_B 上为本机创建一个登录名(MS可以省略)
USE master;
--DROP LOGIN host_B_login
CREATE LOGIN host_B_login WITH PASSWORD = '1qaz!QAZ';
GO--创建一个使用该登录名的用户。
--DROP USER host_B_user
CREATE USER host_B_user FOR CERTIFICATE host_B_cert;
GO--授予对远程镜像端点的登录名的 CONNECT 权限。
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [host_B_login];
GO

2.3见证服务器

--在见证服务器 host_C 上为主体服务器 host_A 创建一个登录名。USE master;
--DROP LOGIN host_A_login
CREATE LOGIN host_A_login WITH PASSWORD = '1qaz!QAZ';
GO--创建一个使用该登录名的用户。
--DROP USER host_A_user
CREATE USER host_A_user FOR LOGIN host_A_login;
GO--使证书与该用户关联。
--DROP CERTIFICATE host_A_cert
CREATE CERTIFICATE host_A_cert
AUTHORIZATION host_A_user
FROM FILE = 'c:\DbMirror\host_A.cer'
GO--授予对远程镜像端点的登录名的 CONNECT 权限。
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [host_A_login];
GO--在见证服务器 host_C 上为镜像服务器 host_B 创建一个登录名。USE master;
--DROP LOGIN host_B_login
CREATE LOGIN host_B_login WITH PASSWORD = '1qaz!QAZ';
GO--创建一个使用该登录名的用户。
--DROP USER host_B_user
CREATE USER host_B_user FOR LOGIN host_B_login;
GO--使证书与该用户关联。
--DROP CERTIFICATE host_B_cert
CREATE CERTIFICATE host_B_cert
AUTHORIZATION host_B_user
FROM FILE = 'c:\DbMirror\host_B.cer'
GO--授予对远程镜像端点的登录名的 CONNECT 权限。
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [host_B_login];
GO

3配置数据库登录信息

在主体数据库中查询 sid和name

USE master;
select sid,name from syslogins;

在备份数据库执行

USE master;
exec sp_addlogin
@loginame = 'xiejun',
@passwd = '1qaz!QAZ',
@sid = 0x9E2D3238732D264483489528B0DC0D9F ;

4备份数据库

主体数据库中执行

USE MASTER;
GO
BACKUP DATABASE xiejun
TO DISK = 'c:\DbMirror\DB.bak'
WITH INIT
GO
BACKUP LOG xiejun
TO DISK = 'c:\DbMirror\DB_log.bak'
WITH INIT
GO

在镜像数据库

还原的时候必须把数据库和事务日志以NoRecovery的形式还原

5配置伙伴服务器

执行顺序为 镜像-》主体-》见证

在镜像服务器配置

ALTER DATABASE xiejun
SET PARTNER = 'TCP://10.10.0.52:5022';
GO

在主体服务器配置

ALTER DATABASE xiejun
SET PARTNER = 'TCP://10.10.0.53:5022';
GO

在主体服务器配置

ALTER DATABASE [xiejun]
SET WITNESS = 'TCP://10.10.0.54:5022';
GO

到此服务器配置成功

转载于:https://www.cnblogs.com/net-xiejun/p/5016396.html

非域环境下使用证书部署数据库(SqlServer2008R2)镜像相关推荐

  1. 非域环境下搭建文件服务器,非域环境下SQL Server搭建Mirror(镜像)的详细步骤...

    原标题:非域环境下SQL Server搭建Mirror(镜像)的详细步骤 1.测试验证环境 服务器角色 机器名 IP SQL Server Ver 主体服务器 WIN-TestDB4O 172.83. ...

  2. 第三篇——第二部分——第四文 配置SQL Server镜像——非域环境

    原文: 第三篇--第二部分--第四文 配置SQL Server镜像--非域环境 本文为非域环境搭建镜像演示,对于域环境搭建,可参照上文:http://blog.csdn.net/dba_huangzj ...

  3. SQL SERVER非域环境搭建镜像

    本文将使用非域环境来搭建镜像,同样,先按照不带见证服务器的高安全模式(同步)的方式搭建,然后 演示异步模式,最后会演示带有见证服务器的高安全模式. 准备条件 服务器 服务器角色 机器名/实例名 版本 ...

  4. ISA2006 之 域环境下部署

    域环境下部署ISA2006 一 准备实验环境 简单拓扑图如下: 二 开始部署 1.安装和配置DC和DNS DOMAIN NAME:TESTISA.COM HOSTNAME:2K3DCSERVER IP ...

  5. 【K8S 二】搭建Docker Registry私有仓库(自签发证书+登录认证)(K8S和非K8S环境下)

    目录 生成证书(更新:2022-08-02) 单SAN(Subject Alternative Name)的场景 多SAN(Subject Alternative Name)场景 创建openssl配 ...

  6. ACT5.6 动手实验手册 如何在工作组模式下对客户端进行数据收集 如何在AD域环境下对...

    ACT5.6 动手实验手册 实验的目标 这个实验的目的是: · 了解如何部署ACT5.6 · 了解如何在工作组模式下对客户端进行数据收集 · 了解如何在AD域环境下对客户端进行数据收集 本次试验大约6 ...

  7. 向日葵资深产品总监技术分享:“国民远控”如何在AD域环境下应用

    在大型企业进行IT建设时,AD域很早就已经成为了必选项,企业选择引入其他IT服务也往往需要该服务能够对接现有的AD域体系."国民远控"向日葵作为最具代表性的国产远程控制品牌,那么其 ...

  8. 工作组与域环境下NTLM协议数据包分析

    NTLM协议由来 早起SMB协议以明文口令形式在网络上传输,存在安全问题为了解决这个问题出现了LM协议, 因为LM协议过于简单很容易被破解,于是微软又提出了NTLM协议,以及更新的NTLM第2版. 发 ...

  9. 域环境下如何保护重要资料文件的安全(二)---IRMRMS(上)

    Hi,大家好.看过了前两篇谈域环境下EFS的使用部署维护心得之后,对于有打算加固公司重要资料文件安全的你,有没有一些启发和帮助呢?正如我在文中最后说到的那样,EFS作为一个历史悠久的系统应用已经慢慢地 ...

最新文章

  1. GitLab首席执行官Sid Sijbrandij畅谈当前开发实践
  2. linux 找回gpt分区,linux – 修复graid mini磁盘上损坏的GPT分区
  3. 安装虚拟机 Network boot from AMD Operating System no...
  4. Catalan卡塔兰数
  5. win8.1 计算机 桌面快捷方式,win8.1操作系统中我的电脑在哪里?win8.1我的电脑快捷键添加方法介绍...
  6. Google-优秀移动站点设计10招
  7. 电脑k歌软件_金麦客专业k歌app下载|金麦客专业k歌软件 手机安卓版v1.1.5.0 下载...
  8. flink报错;IllegalArgumentException: requirement failed The class xx$3 is an instance class, mean
  9. iOS中如何旋转UIView
  10. 概率计算机在线,在线抽奖大转盘和概率计算
  11. 近世代数--陪集--|左陪集|=|右陪集|
  12. EXCEL表格超链接图片
  13. Python根据地名获取经纬度
  14. UTC时间 GMT时间 本地时间 北京时间 时区 夏令时简要说明
  15. 移动端(手机端)页面自适应解决方案—rem布局篇 1
  16. Svn服务器与客户端、AnkhSVN使用
  17. CS5266+MA8621做TYPEC转HDMI+PD+U3+2U+SD/TF七合一拓展坞方案设计|CS5266多口拓展坞PCB+原理图参考
  18. Realsense深度相机+pyqt5+应用案例(基础篇2)
  19. MySQL聚合查询实现多表查询,联合查询,合并查询
  20. 一定能看懂的超详细分离变量法过程

热门文章

  1. 风险预测模型_随访78个月,仁济医院完成世界首个间质性肺病风险预测模型
  2. 叉积 微分 恒等式_考研真题分章解析 | 第二章 导数与微分
  3. 比double精度更高的数据类型_MATLAB中图像的数据类型
  4. button url图片显示不出来_哼!Vue如何在图片上传前使用vue-cropper进行剪切
  5. linux中spawn远程执行,linux 远程登录执行命令
  6. oracle调试死掉,oracle自动死掉了
  7. log4j记录不同的日志_使用log4j将不同类型的日志信息记录到不同的文件中
  8. cryptojs vue 使用_VueJs里利用CryptoJs实现加密及解密的方法示例
  9. 设计和实时视图不一样_三室两厅家装设计,如何打造出不一样的感觉?
  10. 基于verilog流水灯设计