MSSQL 从 2005 开始推出镜像功能.
SQL Server镜像是不可读的.整个库在个 norecovery模式.
SQL Server镜像只能是1对1 但可以用镜像+logshipping 混合实现一对多和镜像链.
SQL Server镜像认证分为 证书 和windows验证.windows验证必须在一个域里面实现.
并不是每个公司的生产环境都是一个域.域的好处是可以做故障转移群集+镜像混合实现保障.
下面就说下认证方式的镜像
环境:win2008 +mssql2008
1 在主库上面创建数据库主密钥
- create master key encryption by password ='123!@#abc';
2 创建证书
- create certificate host_105with subject='host_105_c'
3创建端点
- create endpoint endport_mirrorstate=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_bcreate certificate host_106
- authorization mirror_bfrom 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_105authorization mirror_afrom 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_testset 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_testselect * from test
11 打开镜像监控器
11 mirror+logshipping
原文标题:MSSQLMiRROR
链接:http://www.cnblogs.com/xwj1985/archive/2010/08/08/1795225.html
【编辑推荐】
- SQL Server 2000 数据仓库中使用分区之分区设计
- SQL Server 2000 数据仓库中使用分区之分区的缺点
- SQL Server 2000 安装时的一些症状归纳
- 启动自动执行SQL Server存储过程的实际操作流程
- SQL Server数据库与EXCEL数据导入与导出