SQL Server 2005 镜像 高可用性模式 (证书认证) 一、为主体 数据库 配置 出站连接 --创建 数据库 主密钥 CREATE MASTER KEY ENCRYPTION BY PASSWORD = '111111'; GO --在MIR-A上为 数据库 实例创建证书 USE master; CREATE CERTIFICATE MIR_A_cert WITH SU
SQL Server 2005 镜像 高可用性模式
(证书认证)
一、为主体 数据库 配置 出站连接
--创建 数据库 主密钥
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '111111';
GO
--在MIR-A上为 数据库 实例创建证书
USE master;
CREATE CERTIFICATE MIR_A_cert
WITH SUBJECT = 'MIR_A certificate',
START_DATE = '01/27/2008',
EXPIRY_DATE = '01/01/2099'
GO
--在MIR-A上使用上面创建的证书为 数据库 实例创建 镜像 端点
CREATE ENDPOINT Endpoint_Mirroring
STATE = STARTED
AS TCP (
LISTENER_PORT=5024
, LISTENER_IP = ALL
)
FOR DATABASE_MIRRORING (
AUTHENTICATION = CERTIFICATE MIR_A_cert
, ENCRYPTION = REQUIRED ALGORITHM RC4
, ROLE = ALL
);
GO
--备份MIR-A上的证书并拷贝到MIR-B,MIR-W上
BACKUP CERTIFICATE MIR_A_cert TO FILE = 'C:\MIR_A_cert.cer';
GO
二、为 镜像 数据库 配置 出站连接
--创建 数据库 主密钥
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '111111';
GO
--在MIR-B上为 数据库 实例创建证书
CREATE CERTIFICATE MIR_B_cert
WITH SUBJECT = 'MIR_B certificate for database mirroring',
START_DATE = '01/27/2008',
EXPIRY_DATE = '01/01/2099';
GO
--在MIR-B上使用上面创建的证书为 数据库 实例创建 镜像 端点
CREATE ENDPOINT Endpoint_Mirroring
STATE = STARTED
AS TCP (
LISTENER_PORT=5024,
LISTENER_IP = ALL
)
FOR DATABASE_MIRRORING (
AUTHENTICATION = CERTIFICATE MIR_B_cert,
ENCRYPTION = REQUIRED ALGORITHM RC4,
ROLE = ALL
);
GO
--备份MIR-B上的证书并拷贝到MIR-A,MIR-W上
BACKUP CERTIFICATE MIR_B_cert TO FILE = 'C:\MIR_B_cert.cer';
GO
三、为见证 数据库 配置 出站连接
--创建 数据库 主密钥
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '111111';
GO
--在MIR-W上为 数据库 实例创建证书
CREATE CERTIFICATE MIR_W_cert
WITH SUBJECT = 'MIR_W certificate for database mirroring',
START_DATE = '01/27/2008',
EXPIRY_DATE = '01/01/2099';
GO
--在MIR-W上使用上面创建的证书为 数据库 实例创建 镜像 端点
CREATE ENDPOINT Endpoint_Mirroring
STATE = STARTED
AS TCP (
LISTENER_PORT=5024,
LISTENER_IP = ALL
)
FOR DATABASE_MIRRORING (
AUTHENTICATION = CERTIFICATE MIR_W_cert,
ENCRYPTION = REQUIRED ALGORITHM RC4,
ROLE = ALL
);
GO
--备份MIR-W上的证书并拷贝到MIR-A,MIR-B上
BACKUP CERTIFICATE MIR_W_cert TO FILE = 'C:\MIR_W_cert.cer';
GO
四、为主体 数据库 配置 入站连接
--在MIR-A上为MIR-B创建登陆
USE master;
CREATE LOGIN MIR_B_login WITH PASSWORD = '111111';
GO
--为以上登陆创建一个用户
CREATE USER MIR_B_user FOR LOGIN MIR_B_login;
GO
--绑定证书到用户
CREATE CERTIFICATE MIR_B_cert
AUTHORIZATION MIR_B_user
FROM FILE = 'C:\MIR_B_cert.cer'
GO
--在 镜像 端点上为登陆赋予CONNECT权限
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [MIR_B_login];
GO
--在MIR_A上为MIR_W创建登陆
USE master;
CREATE LOGIN MIR_W_login WITH PASSWORD = '111111';
GO
--为以上登陆创建一个用户
CREATE USER MIR_W_user FOR LOGIN MIR_W_login;
GO
--绑定证书到用户
CREATE CERTIFICATE MIR_W_cert
AUTHORIZATION MIR_W_user
FROM FILE = 'C:\MIR_W_cert.cer'
GO
--在 镜像 端点上为登陆赋予CONNECT权限
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [MIR_W_login];
GO
五、为 镜像 数据库 配置 入站连接
--在MIR-B上为MIR-A创建登陆
USE master;
CREATE LOGIN MIR_A_login WITH PASSWORD = '111111';
GO
--为以上登陆创建一个用户
CREATE USER MIR_A_user FOR LOGIN MIR_A_login;
GO
--绑定证书到用户
CREATE CERTIFICATE MIR_A_cert
AUTHORIZATION MIR_A_user
FROM FILE = 'C:\MIR_A_cert.cer'
GO
--在 镜像 端点上为登陆赋予CONNECT权限
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [MIR_A_login];
GO
--在MIR-B上为MIR-W创建登陆
USE master;
CREATE LOGIN MIR_W_login WITH PASSWORD = '111111';
GO
--为以上登陆创建一个用户
CREATE USER MIR_W_user FOR LOGIN MIR_W_login;
GO
--绑定证书到用户
CREATE CERTIFICATE MIR_W_cert
AUTHORIZATION MIR_W_user
FROM FILE = 'C:\MIR_W_cert.cer'
GO
--在 镜像 端点上为登陆赋予CONNECT权限
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [MIR_W_login];
GO
六、为见证 数据库 配置 入站连接
--在MIR-W上为MIR-A创建登陆
USE master;
CREATE LOGIN MIR_A_login WITH PASSWORD = '111111';
GO
--为以上登陆创建一个用户
CREATE USER MIR_A_user FOR LOGIN MIR_A_login;
GO
--绑定证书到用户
CREATE CERTIFICATE MIR_A_cert
AUTHORIZATION MIR_A_user
FROM FILE = 'C:\MIR_A_cert.cer'
GO
--在 镜像 端点上为登陆赋予CONNECT权限
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [MIR_A_login];
GO
--在MIR-W上为MIR-B创建登陆
USE master;
CREATE LOGIN MIR_B_login WITH PASSWORD = '111111';
GO
--为以上登陆创建一个用户
CREATE USER MIR_B_user FOR LOGIN MIR_B_login;
GO
--绑定证书到用户
CREATE CERTIFICATE MIR_B_cert
AUTHORIZATION MIR_B_user
FROM FILE = 'C:\MIR_B_cert.cer'
GO
--在 镜像 端点上为登陆赋予CONNECT权限
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [MIR_B_login];
GO
七、在MIR-A上备份 数据库
--修改Northwind 数据库 使用完整恢复模式
ALTER DATABASE Northwind
SET RECOVERY FULL;
GO
--在 MIR_A 的主体服务器实例上备份 数据库
--通过安全方法,将 C:\Northwind.bak 复制到MIR_B上
USE Northwind
BACKUP DATABASE Northwind
TO DISK = 'C:\Northwind.bak'
WITH FORMAT
GO
八、转到MIR-B上去恢复 数据库
--在MIR-B的 镜像 服务器实例上还原 数据库 :
RESTORE DATABASE Northwind
FROM DISK = 'C:\Northwind.bak'
WITH NORECOVERY
GO
九、为 镜像 数据库 配置 镜像 伙伴
--在 MIR-B 的 镜像 服务器实例上,将 MIR-A 上的服务器实例设置为伙伴
ALTER DATABASE Northwind
SET PARTNER = 'TCP://MIR-A:5024';
GO
十、为主体 数据库 配置 镜像 伙伴和见证服务器
--在 MIR-A 的主体服务器实例上,将MIR-B上的服务器实例设置为伙伴
ALTER DATABASE Northwind
SET PARTNER = 'TCP://MIR-B:5024';
GO
--在 MIR-A 的主体服务器实例上,将 MIR-W 上的服务器实例设置为见证服务器
ALTER DATABASE Northwind
SET WITNESS = 'TCP://MIR-W:5024';
GO
十一、 配置 数据库 镜像 事务安全级别
ALTER DATABASE Northwind SET SAFETY FULL
GO
十二、分别在MIR-A和MIR-B上查看 数据库 镜像 的 配置 状态
-- 1.)通过Management studio 对象资源管理器,查看主体 数据库 、 镜像 数据库 状态
-- 2.)通过Management studio 对象资源管理器中的 数据库 属性查看状态
-- 3.)通过系统目录视图查看 数据库 镜像 配置 情况
USE MASTER
GO
SELECT * FROM sys.database_mirroring_endpoints;
GO
SELECT * FROM sys.database_mirroring WHERE database_id =
(SELECT database_id FROM sys.databases WHERE name = 'Northwind')
GO
十三、测试故障转移情况
查看更多关于SQLServer2005镜像配置(三)的详细内容...