- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL Server 2012 AlwaysOn 安装部署文档综述
SQL Server 2012 AlwaysOn 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 主数据库No Read-Intent Only Yes允许所有连接辅数据库不可读,只做热备辅数据库可读,分担只读负载辅数据库
文档评论(0)