SQLServer2014 AlwaysOn集群搭建
SQL Server always on 高可用部署

1.1 数据库镜像支持有关对SQL Server 2012 中的数据库镜像的支持的信息,请参考:https:///zh-cn/previous-versions/sql/sql-server-2012 /cc645993%28v%3dsql.110%291.2 其他前置条件∙需要安装.NET 补丁,详见:https:///zh-cn/help/2654347/an-update-introduc es-support-for-the-alwayson-features-in-sql-server-2。
∙确保参与参与一个或多个可用性组的计算机不是域控,域控制器节点不支持可用性组。
∙确保每台计算机都是Windows Server 故障转移群集(WSFC) 群集中的节点,详见:https:///zh-cn/previous-versions/sql/sql-server-2012 /hh270278%28v%3dsql.110%29。
∙确保有足够的WSFC节点,详见:https:///zh-cn/previous-versions/sql/sql-server-2012 /ff877884%28v%3dsql.110%29。
∙若要管理WSFC 群集,用户必须是每个群集节点上的系统管理员。
注意:建议预留足够的空间,在主数据库增长时,其相应的辅助数据库也增长相同量。
建议:建议您为WSFC 群集成员之间的通信和可用性副本之间的通信使用相同的网络链接。
1.3 其他限制∙可用性副本必须由一个WSFC 群集的不同节点承载:对于某个给定可用性组,可用性副本必须由在同一WSFC 群集的不同节点上运行的服务器实例承载。
唯一的例外是在迁移到另一个WSFC 群集时,此时一个可用性组可能会暂时跨两个群集。
∙唯一的可用性组名称:每个可用性组名称在WSFC 故障转移群集上必须唯一。
可用性组名称的最大长度为128 个字符。
∙可用性副本:每个可用性组支持一个主副本和最多四个辅助副本。
恒生电子_SQLServer2014AlwaysOn双活热备解决方案

SQL Server Always On 双活热备解决方案版本:1.0.0修订历史记录目录1.1.SQL S ERVER A LWAYS O N概述 (4)1.2.方案拓扑结构 (5)1.3.SQL S ERVER A LWAYS O N方案要求 (6)1.3.1.软件要求: (6)1.3.2.硬件要求: (6)1.3.3.网络要求: (6)1.1. SQL Server AlwaysOn概述Always On可用性组功能是一个提供替代数据库镜像的企业级方案的高可用性和灾难恢复解决方案。
SQL Server 2012中引入了Always On可用性组功能,此功能可最大程度地提高一组用户数据库对企业的可用性。
“可用性组”针对一组离散的用户数据库(称为^可用性数据库”,它们共同实现故障转移)支持故障转移环境。
一个可用性组支持一组读写主数据库以及一至八组对应的辅助数据库。
(可选)可使辅助数据库能进行只读访问和/或某些备份操作。
SQL Server AlwaysOn技术集中了故障转移群集、数据库镜像和日志传送三者的优点, 但乂不相同。
故障转移群集的单位是SQL实例,数据库镜像和日志传送的单位是单个用户数据库,而AlwaysOn 支持的单位是可用性组,每个组中可以包括一个或者是多个用户数据库。
也就是说,一旦发生切换,则可用性组中的所有数据组会作为一个整体进行切换。
可用性组在可用性副本级别进行故障转移。
故障转移不是山诸如因数据文件丢失而使数据库成为可疑数据库、删除数据库或事务日志损坏等此类数据库问题导致的。
AlwaysOn底层依然采JT] Windows mses故障转移群集的机制进行监测和转移,因此也需要先建立Windows Cluster,只不过可用性组中的数据库不一定非要再存放在共享存储上了。
可以是存储在本地磁盘上。
在Windows MSCS故障转移群集的基础上部署AlwaysOninj可用组,用户可以在群集节点上安装SQL Server单机实例,也可以安装SQL Server群集实例,AlwaysOn仅要求所有SQL Server实例都运行在同一个MSCS中,但SQL Server实例本身是不需要群集模式的,这与SQL Server2008群集的实例完全不同。
SQL Server AlwaysOn安装部署手册

SQL Server 2012 AlwaysOn Failover Cluster安装部署手册目录1.AlwaysOn介绍 (3)1.1.可用性模式 (3)➢同步提交 (3)➢异步提交 (3)1.2.故障转移模式 (3)➢手动转移(不存在数据丢失) (3)➢自动转移(不存在数据丢失) (4)➢强制转移(存在数据丢失) (4)1.3.主、辅数据库连接方式 (4)➢主数据库连接方式 (4)➢辅数据库是否允许只读 (4)2.SQL SERVER 2012安装(Alwayson群集环境) (5)3.配置AlwaysOn (23)3.1.启动服务 (23)3.2.设置数据库完整恢复模式 (24)3.3.完整备份数据库 (31)3.4.设置共享目录 (34)3.5.创建AlwaysOn Group (38)3.6.设置连接方式 (54)3.7.检查Read-Only Routing List (55)3.8.检查数据库同步情况 (56)3.9.测试Read-Only Routing (57)4.可用性副本未同步状态处理方法 (58)5.SQL Server 2012 ReportSvrice KB (60)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操作不受影响。
解决开启SQLServersqlAlwaysonGroup事务日志增大的问题

解决开启SQLServersqlAlwaysonGroup事务⽇志增⼤的问题
配置了Alwayson之后,因为没有只能使⽤完全恢复模式,不能使⽤简单或⼤容量⽇志模式,所以⽇志不断增长,不能使⽤改变恢复模式的⽅式清空⽇志
⼿动操作收缩或截断⽇志也⽆效
读了⼀些⽂章后发现,有⼈使⽤
主要实例脱离可⽤性组 - 修改为简单恢复模式 -修改回完整恢复模式 - 完整备份 - 加回可⽤性组 -将辅助副本还原(注意是With NoRECOVERY) - 重启同步
这样虽然可⾏,但也太⿇烦了,对于俺们每天增长70GB的⽇志⽂件来说,操作未免太频繁了
也许是我对SQL Server太不熟悉了,其实只要在“备份⾸选项”(可⽤性组,右键,属性,)指定的数据库实例上“备份事务⽇志”即可将事务⽇志备份并截断
对于事务⽇志增长频繁的数据库只要建⽴⼀个维护计划,定期备份事务⽇志即可,可以是⼏分钟到⼀个⼩时
引⽤:
为什么完整备份不能截断事务⽇志。
Windows2012R2+SQL_Server2014AlwaysOn安装部署手册

Windows2012R2+SQL Server2014AlwaysOn目录一.安装SqlServer2014Alwayson准备 (3)1.SQL2014与SQL2012的Alwayson安装方式一致 (3)2.安装Windows 2012建立域控 (3)3.安装故障转移群集 (3)4 .安装.NET功能 (3)5.安装多个数据库 (4)6.部署SqlServer2014 AlwaysOn (4)一.安装SqlServer2014Alwayson准备1.SQL2014与SQL2012的Alwayson安装方式一致2.安装Windows 2012建立域控具体查看《2-Windows 2012建立域控.docx》3.安装故障转移群集具体查看《3-Windows Server 2012 故障转移群集安装手册.docx》4 .安装.NET功能首先安装.net功能点击下一步:点击下一步:点击下一步:点击完成。
5.安装多个数据库在多个服务器上安装多个数据库实例名,本地AlwaysOn可以分为一个主节点,一个同步节点,一个异步节点;6.部署SqlServer2014 AlwaysOn在SQLSERVER的配置管理器中,修改登陆以及高可用选项,其中登陆选项,登陆身份必须为域帐户身份(输入域服务器创建时,创建的域帐户)。
打开Alwayson高可用开关在主要数据库进行恢复数据库操作。
并把恢复的数据库使用完全备份模式。
在辅助的数据库中还原数据库,需要修改如下参数此处必须选择恢复模式为REPLACEHE和NORECOVERY。
--------------在恢复辅助数据库的时候,能把数据库下的用户信息全部复制过去,但是安全性下的用户信息需要做一个重定义到辅助数据库。
---主服务器查询出test用户的sidSELECTsidFROM sys.syslogins WHERE loginname='test'---辅助服务器中把SID项替换成主服务器中的SID值USE[master]GOCREATELOGIN[test]WITHPASSWORD=N'123',SID=,DEFAULT_DATABASE=[master] CHECK EXPIRATION=OFF,CHECK_POLICY=OFFGO先把辅助服务器中实例下的test用户删除掉,然后执行上面脚本并重建用户映射-------打开配置管理器中的alwayson功能,在sqlserver中会出现AlwaysOn高可用性的菜单。
SQL Server Always on 技术对比

DBTwin数据库集群与AlwaysOn的比较DBTwin集群工作原理图:AlwaysON工作原理图:DBTWIN集群具有‘独立的DBTWIN集群网关’,一般需要独立的Windows服务器来运行,可以有效应对大并发、高压力的系统,进行有效的、自动的读写分离和负载均衡。
占用资源少,稳定、可靠。
SQL Server AlwaysON则没有类似DBTWIN集群网关这样一个独立部件,直接用两台数据库构成数据的实时同步,本质上是数据库数据的一个‘实时备份工具’。
上面是两者之间的本质区别。
具体可以从下列几个方面来比较:1.负载均衡和读写分离:DBTwin:完全自动。
对客户端的查询自动实现负载均衡、读写分离、OLTP和OLAP的自动分离(这对提高数据库性能很关键)。
对客户端代码二进制透明兼容,不需要修改客户端代码。
AlwaysON:手工实现。
当客户端代码需要登陆数据库进行访问时,需要程序员手工指定“访问主副本(可读写)还是辅助副本(只读)”。
对客户端代码不透明,需要修改客户端代码。
2.数据同步时的延迟问题:DBTwin:不存在数据延迟。
两台机器之间的数据是“任何时刻完全实时同步一致的”,不存在数据延迟(数据之间的时间差)。
AlwaysON:存在数据延迟。
有异步和同步两种模式。
即使是同步模式,也存在数据的延迟问题(也就是说主副本的数据和辅助副本的数据两者之间存在一个1秒左右的时间差)。
因此手工进行负载均衡的时候,开发人员必须注意这个时间差,否则就会存在数据逻辑错误的可能。
3.装和维护的简易程度:DBTwin:简单、代价低。
DBTwin既可以在Windows工作组环境、也可以在Windows域环境下工作,安装和维护都很简单,例如:由于运行时候SQL数据库是处于简单模式,因此不会发生日志暴涨的情形。
AlwaysON:复杂、代价高。
必须结合Windows故障转移群集和Windows域环境才能使用。
安装配置麻烦,维护起来复杂,例如:由于运行时候SQL数据库是完整恢复模式,因此过一段时间,日志就会变得很大,当需要截断和收缩日志的时候,就需要停止AlwaysON,由此带来维护成本的增加。
SQL Server AlwaysOn安装部署手册

SQL Server 2012 AlwaysOn Failover Cluster安装部署手册目录1.AlwaysOn介绍 (3)1.1.可用性模式 (3)➢同步提交 (3)➢异步提交 (3)1.2.故障转移模式 (3)➢手动转移(不存在数据丢失) (3)➢自动转移(不存在数据丢失) (4)➢强制转移(存在数据丢失) (4)1.3.主、辅数据库连接方式 (4)➢主数据库连接方式 (4)➢辅数据库是否允许只读 (4)2.SQL SERVER 2012安装(Alwayson群集环境) (5)3.配置AlwaysOn (23)3.1.启动服务 (23)3.2.设置数据库完整恢复模式 (24)3.3.完整备份数据库 (31)3.4.设置共享目录 (34)3.5.创建AlwaysOn Group (38)3.6.设置连接方式 (54)3.7.检查Read-Only Routing List (55)3.8.检查数据库同步情况 (56)3.9.测试Read-Only Routing (57)4.可用性副本未同步状态处理方法 (58)5.SQL Server 2012 ReportSvrice KB (60)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操作不受影响。
Windows2012配置SQLServer2014AlwaysOn的图解

Windows2012配置SQLServer2014AlwaysOn的图解SQLserver 2014 AlwaysOn增强了原有的数据库镜像功能,使得先前的单⼀数据库故障转移变成以组(多个数据)为单位的故障转移。
同时可以⽀持多达9个复制伙伴,可读性辅助副本服务器等多个特性。
对于以组为单位的数据库,主要是解决应⽤对于多个数据库之间存在的依赖性,从⽽进⾏整体转移。
其次,可以将那些报表或者只读需求转移到只读辅助副本,从⽽⼤⼤减少主副本的负载,使得主副本更加容易扩展,更好地⽀持⽣产负载,以及对请求提供更快的响应。
本⽂描述了基于虚拟环境Windows 2012 + SQLserver 2014 AlwaysOn配置过程。
⼀、配置环境描述<code class="hljs scss">基于Vmware workstation 12,4台虚拟机,其中⼀台域控,3个SQL节点,使⽤NAT模式,关闭DHCP此处为简化演⽰,先安装2个节点的AlwaysOn,即SQLnode1,SQLnode2机器名称 IP GateWay DNSSQLDC 192.168.171.20 192.168.171.2 127.0.0.1SQLnode1(主) 192.168.171.21 192.168.171.2 192.168.171.20SQLnode2(辅) 192.168.171.22 192.168.171.2 192.168.171.20SQLnode3(辅) 192.168.171.23 192.168.171.2 192.168.171.20AlwaysOnWSFC 192.168.171.18</code>⼆、配置AlwaysOn前提<code class="hljs scss"> [安装Windows 2012域控(For SQLServer 2014 AlwaysOn)](/leshami/article/details/51180359) [Windows 2012配置故障转移(For SQLServer 2014 AlwaysOn)](/leshami/article/details/51218021)[安装SQLserver 2014(For AlwaysOn)](/leshami/article/details/51224954)</code>三、开启AlwaysOn1)使⽤与账户启动sqlserver(2节点)确保2节点使⽤了域⽤户账号启动2)启⽤AlwaysOn可⽤性组(2节点)打开SQLserver配置管理器,找到SQLserver服务,勾选启⽤AlwaysOn可⽤性组3)重启SQLserver使AlwaysOn⽣效(2节点)4)验证AlwaysOn开启(2节点)右单击SQLserver服务器选择属性,可以看到启⽤HADR为True,即表明AlwaysOn已⽣效5)在主节点上创建演⽰库及表<code class="hljs scss"><code class="hljs sql">此处演⽰我们基于SQLnode1,作为主副本CREATE DATABASE AlwaysonDB1;GOCREATE DATABASE AlwaysonDB2;GOUSE AlwaysonDB1;GOCREATE TABLE t1 (id INT ,dbname VARCHAR(20));INSERT INTO t1 VALUES ( 1, 'AlwaysonDB1' );USE AlwaysonDB2;CREATE TABLE t2 (id INT ,dbname VARCHAR(20));INSERT INTO t2 VALUES ( 1, 'AlwaysonDB2' ); </code></code>6)创建共享⽂件夹,⽤于存放备份以及辅助节点读取备份如下图,创建了共享⽂件夹7)为共享⽂件夹分配合适的权限8、备份数据库此步骤可以省略,可以在初始化的时候有SQLserver⾃⾏备份及还原backup database AlwaysonDB1 to disk='C:\AlwaysonBAK\AlwaysonDB1.BAK'; backup database AlwaysonDB2 to disk='C:\AlwaysonBAK\AlwaysonDB2.BAK';四、配置AlwaysOn可⽤性组1)使⽤可⽤性组向导,如下图<喎�"https:///kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwPjxjb2RlIGNsYXNzPQ=="hljs scss">2)指定可⽤性组名称3)为可⽤性组选择数据库,即哪些数据库为为当前可⽤性组4)添加辅助节点5)配置转移模式以及提交模式,可读等相关选项项⽬有描述,可参考。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SqlServer 2014 AlaysOn 集群搭建
目录
SqlServer 2014 AlaysOn 集群搭建 (1)
一、环境设置 (1)
1、服务器: (1)
2、操作系统: (2)
3、数据库版本: (2)
二、建立域服务器 (2)
1、添加AD域角色 (2)
2、建alwayson域 (3)
3、创建域管理账户 (8)
4、master、slave加入域 (11)
三、安装故障转移集群 (12)
1、Master、Slave均安装故障转移集群 (12)
2、在master 创建集群 (12)
四、配置故障转移集群 (17)
1、domainserver 配置共享文件夹 (17)
2、配置仲裁 (18)
五、配置SQL账户 (20)
1、修改数据库SQL代理服务和SQL 引擎服务为域账户 (20)
2、添加域账户为sql登录用户,并给予sysadmin权限 (21)
六、配置sqlserver AlwaysOn (23)
1、启用AlwaysOn可用性组 (23)
2、查看有用性 (23)
3、创建AlwaysOn可用性组 (24)
七、添加监听器 (30)
一、环境设置
1、服务器:
2、操作系统:
WindowsServer 2008 R2 Enterprise
3、数据库版本:
SQLserver 2014
二、建立域服务器
在DomainServer服务器上建立域服务,并把Master、Slave加入域。
1、添加AD域角色
下一步,下一步默认安装。
2、建alwayson域
安装域角色完成后,点击域服务安装向导
点击下一步默认安装直到完成后重启服务器。
3、创建域管理账户
再将此域用户加入域计算机组和域管理员组:
4、master、slave加入域
三、安装故障转移集群
1、Master、Slave均安装故障转移集群
2、在master 创建集群
建立集群需要注销集群节点计算机,然后使用域用户登录
把服务器添加进集群:
若有以下错误、请检查对应服务器是否安装故障转移集群或者当前登录用户是否为管理员
默认选项下一步直到验证
验证通过后、设置集群虚拟IP、IP地址不能和已有IP冲突
四、配置故障转移集群
1、domainserver 配置共享文件夹需要对share目录授权集群账户写的权限
否则会出现以下错误:
2、配置仲裁
配置成功后共享文件夹如图:
五、配置SQL账户
1、修改数据库SQL代理服务和SQL 引擎服务为域账户
登录每一台SQLserver服务器,打开服务管理器,先修改SQL代理的启动账户为域用户,然后再修改SQL 引擎的启动账户为域用户
2、添加域账户为sql登录用户,并给予sysadmin权限
用sa登录后添加SQL登录用户,跟SQL 服务添加启动账户的步骤一样,将域用户添加为登录用户
六、配置sqlserver AlwaysOn
1、启用AlwaysOn可用性组
打开每一台服务器的SQL Server配置管理器、启用AlwaysOn 可用性组
2、查看有用性
SELECT * FROM sys.dm_hadr_cluster_members;
3、创建AlwaysOn可用性组
在master创建数据库TestDB。
在master创建AlwaysOn可用性组
服务器名称填节点IP
验证
如果出现这个错误,将数据库1433、5022端口放行或者关闭防火墙
查看面板
七、添加监听器
1、添加监听器
在故障转移集群管理器里的服务节点,可以看到客户端访问名称和IP地址,客户端通过这个访问名称进行访问数据库
修改主数据库的数据,两个副本会同步相关数据。
至此SQL 2014 AlwaysOn 搭建完成。