SQL Server 2017 高可用性

可用性功能的使用方式主要有以下四种:

  • 高可用性
  • 灾难恢复
  • 迁移和升级
  • 扩大一个或多个数据库的可读副本

SQL Server 可用性功能不能替换对经过充分测试的可靠备份和还原策略的需求,后者是所有可用性解决方案最基本的构建基块。

AlwaysOn 可用性组

SQL Server 2012 中引入的 AlwaysOn 可用性组将数据库的每个事务发送到另一个实例,从而提供数据库级别的保护,该实例称为副本,其中包含处于特定状态的数据库副本。

副本之间的数据移动可以是同步的或异步的,Enterprise 版本允许同步多达三个副本(包括主要副本)。

AlwaysOn 是 SQL Server 中可用性功能的总称,涵盖可用性组和 FCI。 AlwaysOn 不是可用性组功能的名称。

因为可用性组只提供数据库级保护,而非实例级保护,所以需要为每个次要副本手动同步事务日志中未捕获的或数据库中未配置的任何内容.

就副本而言,Standard 版本和 Enterprise 版本具有不同的最大值。 Standard 版本中的可用性组(称为 Basic 可用性组)支持两个副本(一个主要副本和一个次要副本),且可用性组中只有一个数据库。 Enterprise 版本不仅允许在一个可用性组中配置多个数据库,而且拥有的副本总数可多达 9 个(1 个主要副本,8 个次要副本)。

REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT 的同步副本时执行何种操作的行为。 该选项的工作原理如下所示:

  • 有三种可能的值:0、1 和 2
  • 值是必须同步的次要副本数,它对数据丢失、可用性组可用性和故障转移都有影响
  • 对于 WSFC 和群集类型为“无”的情况,默认值为 0,可手动设置为 1 或 2
  • 对于群集类型为“外部”的情况,该值默认由群集机制设置,并可手动重写。 对于三个同步副本,默认值为 1。 在 Linux 上,REQUIRED SYNCHRONIZED SECONDARIES_TO_COMMIT 的值在群集中的可用性组资源上配置。 在 Windows 上,则通过 Transact-SQL 设置。

大于 0 的值可确保更高的数据保护程度,因为如果无法获得所需的次要副本数,那么在该问题解决之前,主要副本不可用。 REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT 还影响故障转移行为,因为如果适当数量的次要副本未处于正确状态,则不会发生自动故障转移。 在 Linux 上,若该值为 0 则不允许自动故障转移,因此在 Linux 上结合使用同步与自动故障转移时,该值必须设置为大于 0 才能实现自动故障转移。 在 Windows Server 上将该值设置为 0 是 SQL Server 2016 和更早版本的行为。

SQL Server 2017 对此进行了完善,对以下两种情况都提供 DTC 支持。

  • 在同一 SQL Server 实例中跨越多个数据库的事务
  • 跨越多个 SQL Server 实例或可能涉及非 SQL Server 数据源的事务

下面的列表突出显示了 Windows Server 与 Linux 上的 FCI 之间存在的一些差异:

  • 在 Windows Server 上,FCI 属于安装过程。 而 Linux 上的 FCI 则是在 SQL Server 安装完成后配置。
  • Linux 仅支持每个主机安装一个 SQL Server,因此所有 FCI 都是默认实例。 Windows Server 支持每个 WSFC 具有最多 25 个 FCI。
  • Linux 中 FCI 使用的公用名在 DNS 中定义,并且名称应与为 FCI 创建的资源相同。

日志传送

日志传送过程自动生成事务日志备份,并将其复制到一个或多个称为热备用状态的实例,然后自动将事务日志备份应用于该备用实例;

可以说,在某种程度上使用日志传送的最大优点在于它会考虑人为错误。 事务日志的应用可能会延迟。 因此,如果有人在没有 WHERE 子句的情况下发出类似 UPDATE 的内容,则备用可能尚未更改,如此便可在修复主系统时切换到该备用实例。

跨数据中心;

AlwaysOn 可用性组

原文地址:https://www.cnblogs.com/sundy818/p/10945258.html

时间: 2024-10-08 05:24:32

SQL Server 2017 高可用性的相关文章

在Linux上使用mssql-conf工具配置SQL Server 2017

mssql-conf是在Linux上安装SQL Server 2017后的一个配置脚本.你可以使用这个实用工具设置以下参数: Agent 启用SQL Server代理 Collation 设置一个新的排序规则 Customer feedback 选择是否发送反馈给微软 Database Mail Profile 设置默认数据库邮件配置 Default data directory 修改新的数据文件的默认路径 Default log directory 修改新的日志文件的默认路径 Default

消息:SQL Server 2017(vNext)的第三个公开的CTP(社区技术预览版)发布了

今天看到了一个新闻,跟大家分享一下,有兴趣的可以去尝试一下. SQL Server 2017 CTP3于5月23日发布了,详细版本号是6.7.55.0. 大家可以去安装试试.在下载页面,目前是SQL Server vNext.预计下一个CTP版本会把所有2017的字样都更新成vNext,计划是六月份. 请从这里下载预览版:Microsoft System Center Management Pack (Community Technical Preview 3) for SQL Server v

在权限受限制的AD域环境中部署SQL Server AlwaysOn高可用性

最近在给一个客户部署基于微软TFS的软件生命周期管理平台时,客户要求数据库层实现高可用性,减少因数据库服务器故障影响软件开发进展. 客户现有域是一台搭建在Windows Server 2008上的级别为Windows 2008的企业域.为了符合客户企业域的安全规定,需要在部署数据库高可用性期间使用最低权限,即只赋予操作账户(tfsadmin)在AD目录中用于ALM的组织单元的完全权限.在综合考虑和调用的基础上,我们提出了以下方案,并附上了操作说明. 方案: 1. 在AD域中为ALM创建用于保存计

使用Docker运行Microsoft SQL Server 2017

最近每天都在空闲时间努力编写Apworks框架的案例代码WeText.在文本发布和处理微服务中,我打算使用微软的SQL Server for Linux来做演示,于是也就在自己的docker-compose中加入了MS SQL Server的服务.其实在Docker中运行SQL Server是非常容易的,今天大概做个介绍吧. 启动Microsoft SQL Server 2017容器 下面是我目前WeText案例中用于搭建基础结构服务的docker-compose.yml文件(该文件将来还会变动

docker快速部署sql server 2017开发版

安装sql server开发环境太麻烦?通过docker快速搭建也可以完成,一串指令搞定. Download SQL Server Management Studio (SSMS) https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms https://download.microsoft.com/download/3/C/7/3C77BAD3-4E0F-4C6B-84DD-4279

CentOS7脱机安装SQL Server 2017

原文:CentOS7脱机安装SQL Server 2017 SQL Server on Linux也发布一段时间了,官方上支持Red Hat, SUSE, Ubuntu.手上没有以上Linux版本,选用了与Red Hat最接近的CentOS7.4来进行安装和测试. 1. 环境 Linux: CentOS Linux release 7.4.1708 (Core) Memory: 4 GB SQL Server: SQL Server 2017 (RC2) - 14.0.900.75 (X64)

SQL Server 2017 AlwaysOn AG 自动初始化(九)

SQL Server VDI备份原理分析 SQL Server提供了虚拟设备接口(VDI)API,用于帮助独立的应用程序提供商,支持将SQL Server的备份和恢复操作集成到他们的产品中.这些API设计为提供最大可靠性和性能,支持所有的备份和恢复功能,包括所有的热备和快照备份能力. 在早期SQL Server版本,VDI备份需要3个线程来完成备份.一个控制线程来接收备份命令,两个辅助线程来处理VDI完成和元数据流活动. 需要的VDI线程数 = (文件在卷上的数据库数) * 3 而在新的SQL

SQL Server 2017 AlwaysOn AG 自动初始化(十四)

功能性测试 测试自动种子设定对SQL Server 2017数据文件磁盘布局要求的变化 由于生产环境存放数据文件可能位于不同的卷上,且实例名也不同,那么数据文件的完整路径就不同.为了能实现自动种子设定,重设默认数据路径,满足对2017磁盘布局的要求. 假设主实例默认路径为c:\data\,辅助实例默认路径为d:\data\ 主实例文件位置 SQL Server 2016辅助实例文件位置 SQL Server 2017辅助实例文件位置 C:\data\ C:\data\ D:\data\ C:\d

安装SQL Server 2017

微软的SQL Server版本除了很多也很快,从最早的版本到现在的SQL Server 2017,每一次的版本迭代都更新了很多功能以及增强稳定性,安全性等等,但从SQL Server 2016开始,只有64位版本了,并且开始支持R语言,到了SQL Server 2017,不仅支持R语言还支持Python,当然还有现在热门的机械学习等.今天我讲给大家介绍SQL Server 2017的安装. 在这里,我准备了一台Windows Server 2012 R2的系统,首先需要安装SQL 2017所需的