开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

配置SQL Server AlwaysOn

简介:
+关注继续查看

数据处理是企业绝大多数应用的核心,在生产环境中,数据库总是扮演着非常重要的角色。在微软的SQL Server中主要通过四个传统的高可用性和灾难恢复技术:故障转移群集(Cluster)、日志传送(Log Shipping)、复制(Replication)、和数据库镜像(Database Mirroring)来保障业务的连续性。在SQL Server 2012中微软新增一种高可用性技术来保证生产环境下的业务连续性—SQL Server Always On。

AlwaysOn可用性组功能是一个提供替代数据库镜像的企业级方案的高可用性和灾难恢复解决方案。SQL Server 2012 中引入了AlwaysOn 可用性组功能,此功能可最大程度地提高一组用户数据库对企业的可用性。“可用性组”针对一组离散的用户数据库(称为“可用性数据库”,它们共同实现故障转移)支持故障转移环境。一个可用性组支持一组读写主数据库以及一至四组对应的辅助数据库。(可选)可使辅助数据库能进行只读访问和/或某些备份操作。

AlwaysOn利用了Windows故障转移群集的健康监测和自动故障转移的特性,因此它必须建立在Windows故障转移群集之上。但是和SQLServer群集不同的是,可用性组里的数据库并不是一定要求存放在共享存储(SharedDisk)上的,它们也可以存储在本地磁盘上。另外,可用性组是以用户数据库的集合为单位进行健康检测和故障转移的,而不像SQLServer群集那样是以整个实例为单位。

AlwaysOn 可用性组提供了一组丰富的选项来提高数据库的可用性并改进资源使用情况。

1. 支持最多五个可用性副本。 “可用性副本”是可用性组的实例化,此可用性组由特定的 SQL Server 实例承载,该实例维护属于此可用性组的每个可用性数据库的本地副本。每个可用性组支持一个主副本和最多四个辅助副本。

2. 支持替代可用性模式:

1) 异步提交模式。此可用性模式是一种灾难恢复解决方案,适合于可用性副本的分布距离较远的情况。

2) 同步提交模式。此可用性模式相对于性能而言更强调高可用性和数据保护,为此付出的代价是事务延迟时间增加。一个给定的可用性组可支持最多三个同步提交可用性副本(包括当前主副本)。

3. 支持几种形式的可用性组故障转移:自动故障转移、计划的手动故障转移(通常简称为“手动故障转移”)和强制的手动故障转移(通常简称为“强制故障转移”)。

4. 支持每个可用性组的可用性组侦听器。“可用性组侦听器”是一个服务器名称,客户端可连接到此服务器以访问 AlwaysOn 可用性组的主副本或辅助副本中的数据库。 可用性组侦听器将传入连接定向到主副本或只读辅助副本。侦听器在可用性组故障转移后提供快速应用程序故障转移。

5. 支持用于避免页损坏的自动页修复。

6. 支持灵活的故障转移策略以便更好地控制可用性组故障转移。

7. 支持加密和压缩,这提供了安全且高性能的传输方式。

8. 提供了一组集成的工具来简化部署和管理可用性组,这些工具包括:

1) 用于创建和管理可用性组的 Transact-SQL DDL 语句。

2) SQL Server Management Studio 工具:

a) 新建可用性组向导 创建和配置可用性组;

b) 将数据库添加到可用性组向导 向现有可用性组添加一个或多个主数据库。在某些环境中,此向导还可以自动准备辅助数据库并且为每个数据库启动数据同步;

c) 将副本添加到可用性组向导 向现有可用性组添加一个或多个辅助副本。在某些环境中,此向导还可以自动准备辅助数据库并且为每个数据库启动数据同步;

d) 故障转移可用性组向导 启动对可用性组的手动故障转移。根据您指定为故障转移目标的辅助副本的配置和状态,该向导可以指定计划的手动故障转移或强制手动故障转移。

3) AlwaysOn 面板 监视 AlwaysOn 可用性组、可用性副本和可用性数据库,并且评估 AlwaysOn 策略的结果。

9. “对象资源管理器详细信息”窗格显示有关现有可用性组的基本信息。

10.PowerShell cmdlet。

下演示如何配置SQL Server 2012 Always On

1. 登陆SH-SQL-01服务器,插入安装介质,双击setup.exe文件。安装模式选择基于全新SQL Server独立安装。

image

2. SQL Server组件安装页面,我选择全部安装,生产环境下不建议此操作

3. 服务器配置页面,点击排序规则,选择“SQL_Latin1_General_CP1_CI_AS

image

4. 关于SQL Server的安装,请参见之前写的《安装System Center 2012 R2 数据库》

http://ericxuting.blog.51cto.com/8995534/1440305

5. 等待SQL Server安装完成

6. 为了方便测试,创建两个Database,DB01以及DB02

image

7. 登陆SH-SQL-02服务器重复上述,等待SQL Serve安装完成

8. 在SH-SQL-01/02服务器中安装Windows Server Failover Cluster(WSFC)功能

image

9. 新建Windows Server Failover Cluster(WSFC),命名为SH-SQL-CLU。但是此WSFC不需要配置共享磁盘。

image

image

10.点击开始按钮,在开始屏幕中点击SQL Server配置管理器

image

11.在右侧的面板中,右击SQL Server(MSSQLSERVER),然后选择属性

image

12.在SQL Server(MSSQLSERVER)属性对话框中的AlwaysOn高可用性标签中,选中启用AlwaysOn可用性组(E)选项,然后点击确定

image

13.在警告的消息框中点击确定

image

14.在SQL Server配置管理器中右击SQL Server(MSSQLSERVER),然后选择重新启动

image

15.登陆SH-SQL-02服务器重复上述操作

image

16.返回SH-SQL-01服务器,使用SQL Server Management Studio登陆SQL

17.在SQL Server Management Studio中的对象资源管理器 面板中,展开AlwaysOn高可用性节点

image

18.右键可用性组,选择新建可用性向导

image

19.新建可用性组向导页面,阅读相关信息后点击下一步

image

20.指定可用性组名称页面,键入可用性组名称“SH-SQL-AG”

image

21.选择数据库页面,选择可用性组的用户数据库

image

22.要想配置AlwaysOn数据库,需要注意以下事项:是用户数据库、是读/写数据库、是多重用户数据库、不使用 AUTO_CLOSE、使用完整备份模式、拥有完整数据库备份、位于 SQL Server 实例中,在该实例中您将创建可用性组并且可以对其进行访问、不属于另外一个可用性组、没有配置过数据库镜像。

根据提示,此时需要备份数据库

image

23.选择DB01、DB02,点击下一步

image

24.指定副本页面,点击添加副本

image

25.连接到服务器页面,选择连接到SH-SQL-02服务器

image

26.根据需要指定SQL的主副本、自动故障转移数量、同步提交数量以及是否为可读辅助副本

image

27.选择初始数据同步页面,选择仅连接

image

28.验证页面,确保所有验证通过。此处的警告为检测是否已配置AlwaysOn侦听器。点击下一步

image

29.摘要页面,确认无误后点击完成

image

30.等待配置完成。

image

31.在对象资源管理器面板中展开可用性组,展开SH-SQL-AG可用性组,然后查看可用性组的配置信息。

image

32.右键可用性侦听器,选择添加侦听器

image

33.新的可用性组侦听器页面,键入侦听器DNS名称、端口以及网络

image

34.等待可用性组侦听器创建完成

image

35.登陆SH-SQL-02服务器,打开SQL管理控制台

36.右键DB01,选择还原数据库

image

37.还原数据库页面,指定备份文件路径

image

38.此时系统会提示正在还原数据库

image

39.在可用性数据库页面,右键database选择连接到可用性组

image

40.新建数据库引擎连接

image

41.连接到服务器页面,键入SH-SQL-AG1

image

42.展开数据库,查看数据库同步状态

image

43.右击SH-SQL-AG,点击显示面板,查看AlwaysOn状态

image

这里我选择的使用手动故障转移,在生产环境下建议配置为自动鼓掌转移

44.右键SH-SQL-AG,选择故障转移,将启动SQL故障转移向导

image

image





     本文转自 徐庭 51CTO博客,原文链接:http://blog.51cto.com/ericxuting/1619897,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
函数计算 Python 连接 SQL Server
函数计算 Python 连接 SQL Server 自制脑图
0 0
SQL Server 2000 函数使用---CAST 和 CONVERT
日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。
0 0
【Sql Server】进阶之行数据转为列显示
在开发系统维护阶段,经常需要进行各种数据统计,各种报表之类的。 这个时候,行数据转数据显示就发挥作用了。 场景:行数据的某列值想作为字段列显示
0 0
【Sql Server】时间转换和查询时间范围查询不正确的原因
最近在做时间方法封装的时候发现了一个问题! 如果sql语句输出的时间字段转为了字符串输出,那么在使用此字段作为时间范围筛选时发现无效了,没法过滤对应的时间范围内记录
0 0
【Sql Server】基础之统计库龄语句,仅作为语句使用
知识点的综合使用 分组、数据转换、Case when then、max、min、count、sum、left join多表关联等知识点
0 0
【Sql Server】sql语句文件组分区函数分组方案对应分区表的简单步骤
本篇文章中,主要讲讲sql server数据库中通过sql语句方式对组分区函数的使用 在实际项目中,sql server数据库中有分区的概念,因为在一个表存在大量数据的情况下,需要通过分区方式保存数据来提供查询性能
0 0
【Sql Server】存储过程通过定时执行添加记录作业
通过上篇了解了什么是存储过程,创建存储过程的方法,以及调用存储过程的方法 本次将通过数据库中的作业功能,进行定时执行存储过程,这样就可以完成我们刚开始假设的场景
0 0
【Sql Server】创建触发器,以及通过触发器来统计阅读数量(下)
在本篇文章中,主要来讲讲数据库中的触发器功能 在实际项目中,触发器多数用到在数据添加、修改、删除时,额外去做的一些操作,比如:数据删除了,会通过触发器将删除数据备份到另一个表,再或者文章被阅读,通过触发器更新阅读数量
0 0
【Sql Server】快速创建表模拟系、课程、老师、学生以及分数(下)
在本篇文章中,主要是创建表以及如何快速模拟表数据,方便快速用于查询测试和验证 相对于增删改,查询对于任何系统来说,都是主要的功能,并且是在有一定量数据后才能进行的一些操作,比如:学生成绩平均分统计等
0 0
【Sql Server】创建表模拟批量添加数据以及添加的方式
在实际项目场景中,需要快速模拟大批量数据进行查询测试 基于这个需求,模拟大数据方式有很多,这里简答的写几个中在数据库模拟大数据的方式
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
SQL Server在电子商务中的应用与实践
立即下载
SQL Server云化思考与实践
立即下载
RDS SQL Server CPU高使用率性能优化
立即下载