SQLServer2012AlwaysOn安装部署文档全解.docx
文本预览下载声明
SQL Server 2012AlwaysOn Failover Cluster安装部署文档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的关键。可用性模式同步提交同步提交模式下,主数据库事务提交前,通知辅数据库,直到辅数据库提交成功后,主数据库成功提交。优点:数据受到完整保护,不会存在数据不一致。缺点:事务执行时间延长,效率降低。异步提交异步提交模式下,主数据库独立提交事务,不必等待辅数据库同步,同时将数据写入日志,辅数据库通过事务日志同步数据。优点:事务执行时间不受辅数据库影响,效率高。缺点:数据同步存在延时。*注:我们曾经测试过SQL 2008镜像异步提交和同步提交的效率,异步模式下,延时的时间基本可以忽略,在大事务情况下,延时也仅在秒级。而同步模式下,一旦辅数据库出现异常,如网络连接等错误,那么主数据库将挂起,对于系统的影响巨大。考虑到报表对于数据实时性的要求在秒级以内完全可以接受,我们建议使用异步提交模式。故障转移模式手动转移(不存在数据丢失)主、辅库都是同步提交模式,且故障转移为手动,由SSMS发起FailOver命令。自动转移(不存在数据丢失)主、辅库都是同步提交模式,且故障转移为自动,不受人为控制,由WSFC自动仲裁。强制转移(存在数据丢失)主库是异步提交模式,且故障转移为手动,由SSMS发起FailOver命令。由于某种原因,主、辅库数据不同步,必须使用强制模式实现故障转移,此时可能存在数据丢失的情况,通常应用于突发的灾难恢复。当主、辅库SQL实例均从灾难中恢复正常后,可以通过数据移动功能确保数据同步。可用性模式和故障转移模式兼容表:手动转移自动转移强制转移同步提交√√√异步提交××√注:√表示兼容;×表示不兼容主、辅数据库连接方式DotNetFramework 4. 0以后版本,为了兼容新的灾难恢复AlwaysOn Cluster数据库,连接串中增加了一个属性ApplicationIntent,用于标识应用程序连接到数据库的方式,ApplicationIntent有三种选项:Null。不设置ApplicationIntent,默认为ReadWrite,兼容.NET 4.0以前的连接串。ReadWrite。ReadOnly应用程序通过AlwaysOn群集的DNS访问数据库群集时,首先路由到主数据库,然后根据应用程序连接的模式(Null、ReadWrite、ReadOnly)选择是否路由到Read-Only辅助库。主数据库连接方式允许所有连接。当我们设置主数据库允许所有连接时,应用程序任何时候都可以连接到数据库群集。允许读/写连接。当我们设置主数据库只允许读/写连接时,ApplicationIntent= ReadOnly的应用程序连接将被阻止,并抛出异常“数据库不允许只读连接”。辅数据库是否允许只读 NO。辅数据库不允许读操作。 Read-Intent Only。辅数据库只读,且只允许ReadOnly连接。此选项意味着只能通过SqlCmd –K ReadOnly、PowerShell、或者ApplicationIntent=ReadOnly的应用程序连接数据库。我们通常使用SSMS连接到该数据库是被禁止的。Yes。辅数据库只读,且兼容以前的连接方式。此选项意味着可以通过任何连接方式连接到辅数据库,且辅数据库只读。典型应用场景:辅数据库Readable 主数据库NoRead-Intent Only Yes允许所有连接辅数据库不可读,只做热备辅数据库可读,分担只读负载辅数据库可读,分担只读负载。同时辅数据库可以通过SSMS等连接查询数据。允许读/写连接主数据库不允许只读,防止只读压力负载到主数据库上,辅数据库只做热备,不可读一般不会这样设置,没有意义。辅数据库只能做热备,因
显示全部