SQL Server AlwaysOn安装部署手册
- 格式:docx
- 大小:13.12 MB
- 文档页数:60
SQL Server 2012 AlwaysOn Failover Cluster
安装部署手册
目 录
1. AlwaysOn介绍 .................................................................................................................. 3
1.1. 可用性模式 ................................................................................................................ 3
➢ 同步提交 ................................................................................................................... 3
➢ 异步提交 ................................................................................................................... 3
1.2. 故障转移模式 ............................................................................................................ 3
➢ 手动转移(不存在数据丢失) .................................................................................... 3
➢ 自动转移(不存在数据丢失) .................................................................................... 4
➢ 强制转移(存在数据丢失) ........................................................................................ 4
1.3. 主、辅数据库连接方式 ............................................................................................ 4
➢ 主数据库连接方式 ................................................................................................... 4
➢ 辅数据库是否允许只读 ........................................................................................... 4
2. SQL SERVER 2012安装(Alwayson群集环境) ................................................................... 5
3. 配置AlwaysOn ................................................................................................................ 23
3.1. 启动服务 .................................................................................................................. 23
3.2. 设置数据库完整恢复模式 ...................................................................................... 24
3.3. 完整备份数据库 ...................................................................................................... 31
3.4. 设置共享目录 .......................................................................................................... 34
3.5. 创建AlwaysOn Group .............................................................................................. 38
3.6. 设置连接方式 .......................................................................................................... 54
3.7. 检查Read-Only Routing List .................................................................................... 55
3.8. 检查数据库同步情况 .............................................................................................. 56
3.9. 测试Read-Only Routing .......................................................................................... 57
4. 可用性副本未同步状态处理方法 ................................................................................. 58
5. SQL Server 2012 ReportSvrice KB .................................................................................... 60
1. AlwaysOn介绍
AlwaysOn是SQL Server 2012提供的全新综合、灵活、高效经济的高可用性和灾难恢复解决方案。它整合了镜像和群集的功能,基于OS 故障转移群集(Windows Server FailOver Cluster),通过在同一个WSFC的不同Node上,安装独立的SQL Server实例,定义AlwaysOn Group,一个数据库最多可以部署4个镜像。当热备机出现故障时,可以手工或自动实现故障转移,交换主、辅数据库的角色。
AlwaysOn的亮点在于镜像可读。对于OLTP应用,可以将读操作集中的报表等操作转移到Read-Only的辅助库上,极大地减少Primary DB的IO、CPU等资源占用。由于辅助库是独立的SQL实例,因此创建临时表等TempDB操作不受影响。
*注:AlwaysOn Availability Group中可以定义群集的DNS、IP、主、辅数据库、可用性模式、故障转移模式、数据库连接方式等,是AlwaysOn Cluster的关键。
1.1. 可用性模式
➢ 同步提交
同步提交模式下,主数据库事务提交前,通知辅数据库,直到辅数据库提交成功后,主数据库成功提交。
优点:数据受到完整保护,不会存在数据不一致。
缺点:事务执行时间延长,效率降低。
➢ 异步提交
异步提交模式下,主数据库独立提交事务,不必等待辅数据库同步,同时将数据写入日志,辅数据库通过事务日志同步数据。
优点:事务执行时间不受辅数据库影响,效率高。
缺点:数据同步存在延时。
*注:我们曾经测试过SQL 2008镜像异步提交和同步提交的效率,异步模式下,延时的时间基本可以忽略,在大事务情况下,延时也仅在秒级。而同步模式下,一旦辅数据库出现异常,如网络连接等错误,那么主数据库将挂起,对于系统的影响巨大。
考虑到报表对于数据实时性的要求在秒级以内完全可以接受,我们建议使用异步提交模式。
1.2. 故障转移模式
➢ 手动转移(不存在数据丢失)
主、辅库都是同步提交模式,且故障转移为手动,由SSMS发起FailOver命令。
➢ 自动转移(不存在数据丢失)
主、辅库都是同步提交模式,且故障转移为自动,不受人为控制,由WSFC自动仲裁。
➢ 强制转移(存在数据丢失)
主库是异步提交模式,且故障转移为手动,由SSMS发起FailOver命令。由于某种原因,主、辅库数据不同步,必须使用强制模式实现故障转移,此时可能存在数据丢失的情况,通常应用于突发的灾难恢复。当主、辅库SQL实例均从灾难中恢复正常后,可以通过数据移动功能确保数据同步。
可用性模式和故障转移模式兼容表:
手动转移 自动转移 强制转移
同步提交 √ √ √
异步提交 × × √
注:√表示兼容;×表示不兼容
1.3. 主、辅数据库连接方式
DotNetFramework 4. 0以后版本,为了兼容新的灾难恢复AlwaysOn Cluster数据库,连接串中增加了一个属性ApplicationIntent,用于标识应用程序连接到数据库的方式,ApplicationIntent有三种选项:
1) Null。不设置ApplicationIntent,默认为ReadWrite,兼容.NET 4.0以前的连接串。
2) ReadWrite。
3) ReadOnly
应用程序通过AlwaysOn群集的DNS访问数据库群集时,首先路由到主数据库,然后根据应用程序连接的模式(Null、ReadWrite、ReadOnly)选择是否路由到Read-Only辅助库。
➢ 主数据库连接方式
a) 允许所有连接。当我们设置主数据库允许所有连接时,应用程序任何时候都可以连接到数据库群集。
b) 允许读/写连接。当我们设置主数据库只允许读/写连接时,ApplicationIntent=
ReadOnly的应用程序连接将被阻止,并抛出异常“数据库不允许只读连接”。
➢ 辅数据库是否允许只读
a) NO。辅数据库不允许读操作。
b) Read-Intent Only。辅数据库只读,且只允许ReadOnly连接。此选项意味着只能通过SqlCmd –K ReadOnly、PowerShell、或者ApplicationIntent=ReadOnly的应用程序连接数据库。我们通常使用SSMS连接到该数据库是被禁止的。