前往顾页
以后地位: 主页 > 收集编程 > .Net实例教程 >

SQL server的高可用性 SQL Mirror HA

时候:2014-03-31 22:46来源:知行网www.zhixing123.cn 编辑:麦田守望者

筹办事情

1. Principal 与Mirror 和 Witness 三台实例都装置为不异版本,目前是到SQL Server 2008 SP1。

2. 需求有一个域帐户别离增加到 三台数据库实例地点的Server 的 Administrators组、和SQL Server 相关的组中; 因为详细的组的服从不清楚,是以建议所有组都增加该域帐户,确保权限运行一般。

3. 将第二步中的域帐户设置为SQL Server 办事,SQL Server Agent 的启动帐户,偏重启办事。

4. 确保Principal 与Miroor 两台实例上的数据数据及日记不异。备份形式为完整备份,规复形式为完整,向Mirror实例上规双数据库时必须挑选为NoRecovery形式。

建立EndPoint

1. 在Principal与 Mirror实例上建立EndPoint,运行脚本:

  1. Create EndPoint On Principal and Mirror Instance
  2. CREATE ENDPOINT mirroring_ep
  3. STATE=STARTED
  4. AS TCP (LISTENER_PORT=5022)
  5. FOR DATABASE_MIRRORING
  6. (ROLE = PARTNER, ENCRYPTION = SUPPORTED)
  7. --或CREATE ENDPOINT mirroring_ep
  8. STATE=STARTED
  9. AS TCP (LISTENER_PORT=5022)
  10. FOR DATABASE_MIRRORING
  11. (AUTHENTICATION=WINDOWS NTLM,ROLE = PARTNER)

2. 在Witness实例上建立EndPoint,运行脚本:

  1. Create EndPoint On Witness Instance
  2. CREATE ENDPOINT mirroring_ep
  3. STATE = STARTED
  4. AS TCP ( LISTENER_PORT = 5022 )
  5. FOR DATABASE_MIRRORING
  6. ( ENCRYPTION = SUPPORTED, ROLE=WITNESS );
  7. --或
  8. CREATE ENDPOINT mirroring_ep
  9. STATE=STARTED
  10. AS TCP (LISTENER_PORT=5022)
  11. FOR DATABASE_MIRRORING
  12. (AUTHENTICATION=WINDOWS NTLM,ROLE = WITNESS)

检察EndPoint及删除EndPoint脚本:

  1. Select * From Sys.database_mirroring_endpoints
  2. Select * From sys.database_mirroring
  3. Drop Endpoint endpoint_mirroring

建立 Mirror Session

1.在Mirror 实例上建立Session,运行脚本:

  1. ALTER DATABASE DataBaseName
  2. SET PARTNER = 'TCP://PrincipalServerName:5022';

2.在Principal 实例上建立Session ,运行脚本:

  1. ALTER DATABASE DataBaseName
  2. SET PARTNER = 'TCP://MirrorServerName:5022';

3.在Principal 实例上指定Witness,运行脚本:

  1. ALTER DATABASE HB2008_Gome
  2. SET WITNESS = 'TCP://WitnessServerName:5022';

重视:

1.在Principal实例上建立Session时可能会碰到此错误,错误信息以下:

镜像数据库 "dbName" 包含的事件日记数据不足,无法保存主体数据库的日记备份链。如果没有从主体数据库进行日记备份或没有在镜像数据库上复原日记备份,则可能会呈现这类环境。

处理体例是在Principal实例上再进行一第二天志备份,并遵循NoRecovery形式复原至Mirror实例上。

启事是日记存在间断,可能在进行完整备份时又产华诞记。

2.测试FailOver

  1. ALTER DATABASE DataBase
  2. SET PARTNER FAILOVER

3.相关查询表:

  1. Sys.database_mirroring
  2. Sys.database_mirroring_endpoints
  3. Sys.database_mirroring_witnesses

4.打算任务提前备份:

可以将Principal上的打算任务提前天生脚本,在Mirror建设完成后,在Mirror实例上履行。

5.镜像运行形式

高宁静性形式:支撑同步操纵,事件在主体与镜像上同时提交,会耽误事件滞后时候。

高机能形式:支撑异步运行,镜像办事器可能略微滞后于主体数据库。

值得申明的是,高宁静性形式,因为是主体与镜像为同步操纵,镜像的未提交会导致主体不进行提交,可能会有较年夜的影响。

比如:DBServerA与DBServerB数据库互为镜像,DBServerA为主体,DBServerB为镜像;

同时DBServerA做了公布办事器,DBServerC从DBServerA做了订阅。利用体系在DBServerC上进行查询。

若DBServerB 呈现毛病,则DBServerA无法提交,从而DBServerC查询数据不及时。

顶一下
(1)
100%
踩一下
(0)
0%
------分开线----------------------------
标签(Tag):数据库 SQLServer SQLServer数据库 Sqlserver2008
------分开线----------------------------
颁发评论
请自发遵循互联网相关的政策法规,严禁公布色情、暴力、革命的谈吐。
评价:
神色:
考证码:点击我更换图片
猜你感兴趣