MSSQLMiRROR

  MSSQL 从 2005 开始推出镜像功能.

MSSQL 镜像是不可读的.整个库在个 norecovery模式.

MSSQL 镜像只能是1对1 但可以用镜像+logshipping 混合实现一对多和镜像链.

MSSQL 镜像认证分为 证书 和windows验证.windows验证必须在一个域里面实现.

并不是每个公司的生产环境都是一个域.域的好处是可以做故障转移群集+镜像混合实现保障.

下面就说下认证方式的镜像

环境:win2008 +mssql2008 

 

1 在主库上面创建数据库主密钥

 

  
  
create master key encryption by password = ' 123!@#abc ' ;

 

2 创建证书

 

  
  
create certificate host_105
with subject = ' host_105_c '

 

3创建端点

 

代码
   
   
create endpoint endport_mirror
state
= started
as tcp
(listener_port
= 1522 ,
listener_ip
=all
)
for database_mirroring
(authentication
= certificate host_105,
encryption
= required algorithm AES,
role
=all
);

 4 备份证书并把证书复制到镜像服务器上

  
  
backup certificate host_105 to file = ' c:\host_105.cer ';

 

5  在备份机上面重复1-4步骤 (证书名不一样 把 所有带 host_105替换成host_106)

6 在主机上创建sql验证账户并和证书绑定

代码
   
   
create login mirror_b with password = ' xwj1234!@#$ '

create user mirror_b for login mirror_b

create certificate host_106
authorization mirror_b
from file = ' c:\host_106.cer '

grant connect on endpoint:: endport_mirror to mirror_b

7 在镜像机上创建sql验证账户并和证书绑定

代码
   
   
create login mirror_a with password; = ' xwj1234!@#$ '
   

create user mirror_a for login mirror_a;


 

grant connect on endpoint:: endport_mirror to mirror_a;
create certificate host_105
authorization mirror_a
from file='c:\host_105.cer';

8 在主库新建mirror_test数据库 日志模式设置为完全模式 并在镜像库上面还原,还原模式为 norecovery

9 同步镜像

 

代码
   
   
-- - 在镜像服务器上运行
alter database mirror_test
set partner = ' TCP://192.168.1.105:1522 '


-- -在主机上面运行

alter database mirror_test
set partner = ' TCP://192.168.1.106:1522 '

-- -设置为高性能模式
alter database mirror_test
set safety off

 

10 测试

 

代码
   
   

-- 在主机执行

create table test
(id
int );

insert into test select 1


-- 在镜像库上执行
create database mirror_test_snp
on primary
(name
= ' mirror_test ' ,filename = ' c:\mirror_test.mdf '
)
as snapshot of mirror_test



use mirror_test

select * from test

 

 

 11 打开镜像监控器

MSSQLMiRROR_第1张图片

11 mirror+logshipping

MSSQLMiRROR_第2张图片

你可能感兴趣的:(MSSQL)