背景
在此之前的测试中,将测试的3台机器加入同一域来搭建数据库镜像环境,但考虑到目前的生产环境中的服务器并没有全部加入域中,因此考虑使用证书设置数据库镜像,从而减少对生产环境的影响。
环境
VM | Rule | IP | MSSQL Version |
---|---|---|---|
node1 | Primary | 192.168.24.101 | SQL Server 2008 R2 |
node2 | Mirror | 192.168.24.102 | SQL Server 2008 R2 |
node1 和 node2 两个服务器实例在非信任的 Windows 域中运行,因此需要基于证书的身份验证。
node1 担当主服务器,node2 担当镜像角色。
使用证书设置数据库镜像涉及四个常规阶段,本示例演示其中的三个阶段:1、2、4。 这些阶段如下:
-
配置出站连接
本示例显示了下列操作的步骤
a.为出站连接配置 Host_A。
b.为出站连接配置 Host_B。
有关设置数据库镜像的本阶段信息,请参阅 允许数据库镜像端点使用证书进行出站连接 (Transact-SQL)。 -
配置入站连接
本示例显示了下列操作的步骤:
a.为入站连接配置 Host_A。
b.为入站连接配置 Host_B。
有关设置数据库镜像的本阶段信息,请参阅 允许数据库镜像端点将证书用于入站连接 (Transact-SQL)。 -
创建镜像数据库
有关如何创建镜像数据库的信息,请参阅 为镜像准备镜像数据库 (SQL Server)。
配置出站连接
为出站连接配置 node1
- 在 master 数据库中,创建数据库主密钥(如果需要的话)
use master;
create master key encryption by password = 'YC1Z@sym';
go
- 为该服务器实例制作一个证书
use master;
create certificate node1_cert
with subject = 'node1 certificate',
expiry_date = '01/01/2099';
go
重要
证书默认有效时间为1年,如果想要使用超过一年的证书,则通过在CREATE CERTIFICATE
语句中使用EXPIRY_DATE
选项,按UTC
时间指定到期日期。
若证书已存在,则先删除