热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

简单实现SQLServer2012高可用性组

SQLServer2012出来了,我最感兴趣的是其AlwaysOn功能,功能很强大,引用网上的话来说就是:.SQLServer2012高可用性组在实现过程中较之早期的SQLServer故障转移群集来讲,不依赖特别提供共享存储磁盘阵列,每个节点独立存储一份数据库的副本。其较之早

SQL Server 2012出来了,我最感兴趣的是其AlwaysOn功能,功能很强大,引用网上的话来说就是:. SQL Server 2012高可用性组在实现过程中较之早期的SQL Server故障转移群集来讲,不依赖特别提供共享存储磁盘阵列,每个节点独立存储一份数据库的副本。其较之早

SQL Server 2012出来了,我最感兴趣的是其AlwaysOn功能,功能很强大,引用网上的话来说就是:.

SQL Server 2012高可用性组在实现过程中较之早期的SQL Server故障转移群集来讲,不依赖特别提供共享存储磁盘阵列,每个节点独立存储一份数据库的副本。其较之早期的镜像数据库来讲,提供多节点高可用,并且针对数据库辅助节点副本可读;此外,在当前可读节点出现故障时,能通过AG自身的机制保证数据库正常访问,而不需要像之前的镜像数据库一样,需要通过访问端来进行切换。

AlwaysOn相比之前的数据库镜像强大,因为副本可设置为可读,这样可以减少主数据库的压力;当主节点故障时,副本可自动接管主节点的服务(10秒内完成)。

我用了三台服务器来实现AlwaysOn高可用性组,暂称之为DC、DB1、DB2,服务器的操作系统均为Windows 2008 R2 SP1 企业版,都加入域中(在此不做详述),DC为域控制器;DB1为数据库主节点;DB2为数据库副节点,在域控制器上创建SQLAdmin用户,此用户用来启动SQL Server服务和对共享目录的访问。

一、要实现故障转移,首先必须在DB1和DB2上安装“故障转移集群”功能:

1、在DC上创建一个共享目录,设置SQLAdmin用户对此目录具有读写权限,此目录涉及集群的仲裁,故不应该创建在故障转移集群中。

2、安装WSFC群集组件:

1)打开服务器管理器,选择“功能”,在右边窗口中点击“添加功能”:

2)在“添加功能向导”中,勾选“故障转移集群”,点击“下一步”:

3)在“确认安装选择”页面中,点击“安装”,进行安装操作:

4)完成并关闭“故障转移群集”的安装:

3、配置WSFC,为所有节点均安装完“故障转移群集”服务后,在任意节点服务器的“服务器管理器”中展开“故障转移群集管理器”对WSFC进行配置。

1)通过“故障转移群集管理器”窗口点击“创建一个群集”打开“创建群集向导”:

2)在“开始之前”页中,点击“下一步”:

3)添加所有服务器节点,即将环境中的2台成员服务器添加为群集节点服务器。点击“下一步”:

4)在“验证警告”页面中,如果需要对基本环境(包括硬件)进行WSFC需求验证,可以选择“是”。在本示例中由于不必需进行验证,所以选择“否”。点击“下一步”:

5)定义“用于管理群集的访问点”,为群集进行名,并指定群集IP地址。点击“下一步”:

6)确认之前配置信息,若无误,点击“下一步”,开始群集创建:

7)完成群集创建,点击“完成”关闭向导:

8)在“故障转移群集管理器”会显示成功创建的群集,展开其“节点”,显示现有节点情况:

9)右击群集节点,在上下文菜单中点击“更多操作”,在扩展菜单中选择“配置群集仲裁设置”为该群集配置仲裁:

10)在“开始之前”页面中点击“下一步”:

11)根据此前的设计,由于只有两个节点,并且没有共享磁盘存储存在,所以可以选择“多数节点和文件共享”(关于仲裁方式的选择,可参考http://technet.microsoft.com/zh-cn/library/cc731739.aspx),点击“下一步”,然后根据提示选择第一步创建的共享目录。

12)在“确认”页面中,点击“下一步”:

13)完成WSFC的仲裁配置:

至此,为SQL Server 2012 AG准备的WSFC环境已经完成。

二、为DB1、DB2安装SQL Server 2012:

1、安装SQL Server 2012,在节点服务器上,插入SQL Server 2012安装介质。运行“SQL Server安装中心”,选择“安装”,点击“全新SQL Server独立安装或向现有安装添加功能”,安装步骤跳过,详细请看本文后面链接中的文章。

注:这里不要选择“新的SQL Server故障转移群集安装”,如果是故障转移群集安装的话最终将实现的是早期的SQL数据库群集,并且需要共享数据存储磁盘整列,导致所有SQL节点共享同一个数据存储副本。

2、为高可用性组配置SQL Server 2012数据库引擎服务。

1)在“开始”菜单中点击“所有程序”-“Microsoft SQL Server 2012”-“配置工具”,打开“SQL Server配置管理器”:

2)在控制台中点击“SQL Server服务”节点,在右边窗口中右击“SQL Server (MSSQLSERVER)”,在上下文菜单中选择“属性”:

3)在弹出窗口中选择“AlwaysOn 高可用性”选项卡中勾选“启用AlwaysOn 可用性组”。点击“确认”。

4)在弹出警告对话框中提示该修改需要重启SQL Server数据库引擎服务才能生效,点击“确定”:

5)再次右击“SQL Server (MSSQLSERVER)”,在上下文菜单中选择“重新启动”,对数据库引擎执行重启操作:

6)为了避免在实现AlwaysOn Group时带来复杂的权限设置,建议将相关的SQL服务(如:SQL Server数据库引擎服务)启动登录身份由默认的“内置账户”改为指定的域账户(SQLAdmin用户):

7)建议为该域账户授予各节点SQL Server登录权限,并将各节点服务器账户指派为SQL Server登录账户。

三、创建配置高可用性组

1、准备工作:将需要用作同步的数据库的恢复模式设置为“完整模式”:

并且该数据库已经进行了一次备份操作:

需要一个共享路径提供给备份包存储,并允许所有节点服务器(SQL Server数据库引擎服务登录账户)能够通过UNC路劲进行可读写访问:

2、利用向导新建高可用性组

1)在“开始”菜单中点击“所有程序”-“Microsoft SQL Server 2012”-“配置工具”,打开“SQL Server Management Studio”:

2)展开“AlwaysOn高可用性”节点,右击“可用性组”,在上下文菜单中,选择“新建可用性组向导”:

3)在“简介”页面点击“下一步”:

4)为将要创建的高可用性组指定名称:

5)选择满足加入高可用性组条件的数据库,点击“下一步”:

6)为高可用性组添加其它SQL Server服务器节点为副本。点击“添加副本”按钮,一次添加所需SQL Server服务器,并且指定初始角色为“主”或“辅助”。最多可选2个副本实现自动故障转移,这两个副本将同时使用同步提交可用性模式。最多可支持3个副本进行同步提交可用性模式,若使用异步提交必须强制手动故障转移。对于可读辅助副本设置来讲,可选择其为是否可读或仅读意向,需要注意只有主数据库副本才可写:

7)为高可用性组创建侦听器,指定其DNS名称的Host Name和端口,建议IP地址使用静态IP,并且添加新的群集IP作为高可用性组使用,如此可以指定SQL Server的默认端口1443,以便简化客户端访问的配置。:

8)初始化数据同步首选项,建议选择“完整”,并指定之前创建的UNC共享路径。一直点“下一步” 。

9)直到最终完成,所有摘要均成功完成,显示绿色对勾。如果出现黄色警告,则需进行进一步判断是否成功。若出现红色错误,表示创建AG不成功。

10)返回SSMS窗口,在“可用性组”节点下显示“AG01”的面板,可以观察该高可用性组的状态:

到此,SQL Server 2012基于AlwaysOn的高可用性群组就创建完成了,下一篇文章将对本文创建的群组进行可用性测试。

本文主要参考和引用了TechNet 上的内容,我在此表示感谢。

推荐阅读
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 本文探讨了如何优化和正确配置Kafka Streams应用程序以确保准确的状态存储查询。通过调整配置参数和代码逻辑,可以有效解决数据不一致的问题。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍如何使用Samba软件配置CIFS文件共享服务,涵盖安装、配置、权限管理及多用户挂载等关键步骤。通过具体示例和命令行操作,帮助读者快速搭建并优化Samba服务器。 ... [详细]
  • 本文详细探讨了HTTP 500内部服务器错误的成因、解决方案及其在Web开发中的影响。通过对具体案例的分析,帮助读者理解并解决此类问题。 ... [详细]
  • 本文介绍了如何使用PHP代码实现微信平台的媒体素材上传功能,详细解释了API接口的使用方法和注意事项,确保文件路径正确以避免常见的错误。 ... [详细]
author-avatar
BILLLLL
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有