您好,欢迎访问一九零五行业门户网

SQL Server 2005 镜像配置(三)

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
十三、测试故障转移情况
其它类似信息

推荐信息