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 打开镜像监控器

11 mirror+logshipping

原文地址:https://www.cnblogs.com/xwj1985/p/1795225.html