两年前的《SQL Server 2008 R2数据库镜像部署》,今天“再续前缘”——
微软新一代数据库产品SQL Server 2012已经面世一段时间了,不管从功能上讲还是性能上的体现,较之其早期产品都有了很大提升。特别是其引入高可用性组(AlwaysOn Group, AG)这一概念和功能,大大增强和提高了SQL Server的可用性,在之前的镜像数据库的基础上有了质的变化。
SQL Server 2012高可用性组在实现过程中较之早起的SQL Server故障转移群集来讲,不依赖特别提供共享存储磁盘阵列,每个节点独立存储一份数据库的副本。其较之早起的镜像数据库来讲,提供多节点高可用,并且针对数据库辅助节点副本可读;此外,在当前可读节点出现故障时,能通过AG自身的机制保证数据库正常访问,而不需要像之前的镜像数据库一样,需要通过访问端来进行切换。
因此,以下将对SQL Server 2012高可用性组的实现进行详细介绍。
一、具体的环境如下
在Windows域中,部署3台成员服务器用作SQL Server服务器,因为SQL Server 2012的高可用性组需要Windows的群集服务支持,所以必须预先在这些成员服务器上实现WSFC。服务器的操作系统均为Windows Server 2008 R2,因此其WSFC的仲裁配置有多数(奇数)节点、节点(偶数)和磁盘多数、多数节点(偶数)和文件共享、非多数:仅磁盘等4种。在此,为了体现SQL Server AG无需要各节点共享存储设备这一特性,准备使用3个节点实现。由于是奇数,所以选择多数节点仲裁配置。虽然这种仲裁配置不是被SQL Server 2012 AG推荐的,但是并不影响AG的实现和使用。
2)在添加功能向导中,勾选“故障转移群集”,点击“下一步”。
4)完成并关闭“故障转移群集”的安装。
2)在“开始之前”页中,点击“下一步”。
4)在“验证警告”页面中,如果需要对基本环境(包括硬件)进行WSFC需求验证,可以选择“是”。在本示例中由于不必需进行验证,所以选择“否”。点击“下一步”。
6)确认之前配置信息,若无误,点击“下一步”,开始群集创建。
8)在“故障转移群集管理器”会显示成功创建的群集,展开其“节点”,显示现有节点情况。
10)在“开始之前”页面中点击“下一步”。
详细请参考:
12)在“确认”页面中,点击“下一步”。
至此,为SQL Server 2012 AG准备的WSFC环境已经完成。
三、为各节点服务器安装并配置SQL Server 2012,以SQL03为例进行如下操作。
1、安装SQL Server 2012
1)在节点服务器上,插入SQL Server 2012安装介质。运行“SQL Server安装中心”,选择“安装”,点击“全新SQL Server独立安装或向现有安装添加功能”。
注意:这里不要选择“新的SQL Server故障转移群集安装”,如果是故障转移群集安装的话最终将实现的是早起的SQL数据库群集,并且需要共享数据存储磁盘整列,导致所有SQL节点共享同一个数据存储副本。
3)指定产品密钥,或选择Evaluation版本。
5)运行检查“安装程序支持规则”,验证SQL Server 2012运行环境是否符合要求。
7)在“功能选择”列表中选择实际所需功能,在此,为了简便不再进行自定义。直接使用默认选中组件。并且,需要指定相应的“共享功能目录”,即SQL Server的安装位置。
9)选择并指定实例名,在此使用默认实例来进行示范,并且指定“实例根目录”。
11)指定“服务账户”和“排序规则”,在此选择默认设置。如果需要在完成安装后进行自定义配置,点击“下一步”。
13)在“Analysis Services配置”页面进行和“数据库引擎配置”页面中类似的配置。点击“下一步”。
15)“添加当前用户”为“分布式重播控制器”的管理员。点击“下一步”。
注意:以上第13-16步根据第7步中所选功能不同,配置情况有所差异。
17)是否发送错误报告页面中可选择是否将错误报告发送给微软。
19)在“准备安装”页面中,确认之前进行的各种参数配置是否正确,如果无误,点击“安装”,启动安装进程。
21)可能在某些环境中安装,会收到如下提示,只需重启服务器操作系统即可。
2)在控制台中点击“SQL Server服务”节点,在右边窗口中右击“SQL Server (MSSQLSERVER)”,在上下文菜单中选择“属性”。
4)在弹出警告对话框中提示该修改需要重启SQL Server数据库引擎服务才能生效,点击“确定”。
6)为了避免在实现AlwaysOn Group时带来复杂的权限设置,建议将相关的SQL服务(如:SQL Server数据库引擎服务)启动登录身份由默认的“内置账户”改为指定的域账户。
以上步骤在SQL01/02上均进行相同的操作即可。
四、创建配置高可用性组
高可用性组的创建操作可以有三种方式:向导方式、对话框方式和脚本方式,在此以向导方式SQL03上创建的DB01作为主数据库为例进行介绍。
1、为高可用性组创建配置数据库
要使用向导创建高可用性组,必须要有符合条件的数据库存在,才能进行相关的操作。那么数据库要符合怎样的条件才能满足条件呢?
1)主数据库的恢复模式必须是“完整”恢复模式。
3)需要一个共享路径提供给备份包存储,并允许所有节点服务器(SQL Server数据库引擎服务登录账户)能够通过UNC路劲进行可读写访问。
2)展开“AlwaysOn高可用性”节点,右击“可用性组”,在上下文菜单中,选择“新建可用性组向导”。
4)为将要创建的高可用性组指定名称。
6)为高可用性组添加其它SQL Server服务器节点为副本。点击“添加副本”按钮,一次添加所需SQL Server服务器,并且指定初始角色为“主”或“辅助”。最多可选2个副本实现自动故障转移,这两个副本将同时使用同步提交可用性模式。最多可支持3个副本进行同步提交可用性模式,若使用异步提交必须强制手动故障转移。对于可读辅助副本设置来讲,可选择其为是否可读或仅读意向,需要注意只有主数据库副本才可写。
详细请参考:
8)在“备份首选项”中,指定作为备份副本的节点。默认是在“首选辅助副本”中进行备份。可以通过副本备份优先级来指定首选。默认所有节点均为50。
10)初始化数据同步首选项,建议选择“完整”,并指定之前创建的UNC共享路径。点击“下一步”
12)检查并确认之前的配置信息,若无误,点击“完成”。另外,此处也可保存建组脚本,以便分步诊断故障之用。
14)知道最终完成,所有摘要均成功完成,显示绿色对勾。如果出现黄色警告,则需进行进一步判断是否成功。若出现红色错误,表示创建AG不成功。
可以表明高可用性组成功创建,但WSFC的“多数节点”仲裁模式不是被推荐的。
15)返回SSMS窗口,在“可用性组”节点下显示“AG01”的面板,可以观察该高可用性组的状态。
2)在高可用性组的属性“常规”选项卡中,可以为其添加/删除数据库、副本节点,并配置各可用性副本节点的参数设定值。
4)针对高可用性组中具体的副本节点配置,可以展开该组中“可用性副本”,右击需要配置的副本节点,在上下文菜单中点击“属性”。
6)可以通过右击“可用性组侦听器”中的具体侦听器,打开其“属性”,对侦听器进行相应配置。
关于这些问题暂时先讨论到这里,有时间再后续。
本文出自 “胖哥技术堂” 博客
新闻热点
疑难解答
图片精选