微软sql服务器可以禁用,启用或禁用可用性组功能 - SQL Server Always On | Microsoft Docs...

启用或禁用 AlwaysOn 可用性组功能

08/30/2017

本文内容

适用于:

719f28649793c602f9270966b5ed5c39.pngSQL Server(所有支持的版本)

启用 Always On 可用性组 是服务器实例使用可用性组的先决条件。 在创建和配置任何可用性组之前,必须在将承载一个或多个可用性组的可用性副本的每个 Always On 可用性组 实例上启用 SQL Server 功能。

重要

如果您删除后重新创建了 WSFC 群集,则必须在其原始 WSFC 群集上承载可用性副本的每个 Always On 可用性组 实例上都禁用然后重新启用 SQL Server 功能。

启用 AlwaysOn 可用性组的先决条件

该服务器实例必须驻留在 Windows Server 故障转移群集 (WSFC) 节点上。

该服务器实例必须正在运行支持 Always On 可用性组的 SQL Server 版本。 有关详细信息,请参阅 SQL Server 2016 各个版本支持的功能。

一次仅在一个服务器实例上启用 AlwaysOn 可用性组。 在启用 AlwaysOn 可用性组之后,一直等待直到 SQL Server 服务已重启,然后才继续在另一个服务器实例上进行操作。

权限

在 SQL Server实例上启用 AlwaysOn 可用性组时,服务器实例具有对 WSFC 群集的完全控制权限。

要求本地计算机上 Administrator 组中的成员身份以及对 WSFC 群集的完全控制。 使用 PowerShell 启用 AlwaysOn 时,使用“以管理员身份运行”选项打开命令提示符窗口。

要求 Active Directory 创建对象和管理对象权限。

确定是否已启用 AlwaysOn 可用性组

使用 SQL Server Management Studio

确定是否已启用 AlwaysOn 可用性组

在“对象资源管理器”中,右键单击服务器实例,再单击“属性”。

在 “服务器属性” 对话框中,单击 “常规” 页。 “启用 HADR” 属性显示以下值之一:

True(如果启用了 AlwaysOn 可用性组)

False(如果禁用了 AlwaysOn 可用性组)。

使用 Transact-SQL

确定是否已启用 AlwaysOn 可用性组

SELECT SERVERPROPERTY ('IsHadrEnabled');

IsHadrEnabled 服务器属性的设置指示是否为 AlwaysOn 可用性组启用 SQL Server 的实例,如下所示:

如果 IsHadrEnabled = 1,将启用 AlwaysOn 可用性组。

如果 IsHadrEnabled = 0,将禁用 AlwaysOn 可用性组。

备注

有关 IsHadrEnabled 服务器属性的详细信息,请参阅 SERVERPROPERTY (Transact-SQL)的 SQL Server 版本。

使用 PowerShell

确定是否已启用 AlwaysOn 可用性组

将默认值 (cd) 设置为要确定是否启用 Always On 可用性组 的服务器实例。

请输入以下 PowerShell Get-Item 命令:

PS SQLSERVER:\SQL\NODE1\DEFAULT> get-item . | select IsHadrEnabled

备注

若要查看 cmdlet 的语法,请在 PowerShell 环境中使用 Get-Help SQL Server cmdlet。 有关详细信息,请参阅 Get Help SQL Server PowerShell。

设置和使用 SQL Server PowerShell 提供程序

启用 AlwaysOn 可用性组

启用 AlwaysOn,请使用:

使用 SQL Server 配置管理器

启用 AlwaysOn 可用性组

连接到承载要启用 AlwaysOn 可用性组的 SQL Server 实例的 Windows Server 故障转移群集 (WSFC) 节点。

在“开始” 菜单上,依次指向“所有程序” 、 Microsoft SQL Server、“配置工具” ,然后单击“SQL Server 配置管理器” 。

在“SQL Server 配置管理器”中,单击“SQL Server 服务”,右键单击 SQL Server (),其中 是要启用 Always On 可用性组的本地服务器实例的名称,然后单击“属性” 。

选择“AlwaysOn 高可用性”选项卡。

验证 Windows 故障转移群集名称 字段包含本地故障转移群集的名称。 如果此字段为空,则此服务器实例当前不支持 Always On 可用性组。 原因包括本地计算机不是群集节点、WSFC 群集已关闭或此版本的 SQL Server 不支持 Always On 可用性组。

选中“启用 AlwaysOn 可用性组”复选框,然后单击“确定” 。

SQL Server 配置管理器保存您的更改。 然后,必须手动重新启动 SQL Server 服务。 这使您可以选择最适合您的业务要求的重新启动时间。 SQL Server 服务重启后,AlwaysOn 将启用,而且 IsHadrEnabled 服务器属性将设置为 1。

使用 SQL Server PowerShell

启用 AlwaysOn

将目录 (cd) 更改为你要为 AlwaysOn 可用性组启用的服务器实例。

使用 Enable-SqlAlwaysOn cmdlet 启用 AlwaysOn 可用性组。

若要查看 cmdlet 的语法,请在 PowerShell 环境中使用 Get-Help SQL Server cmdlet。 有关详细信息,请参阅 Get Help SQL Server PowerShell。

备注

有关如何控制 Enable-SqlAlwaysOn cmdlet 是否重新启动 SQL Server 服务的信息,请参阅本主题后面的 Cmdlet 何时重新启动 SQL Server 服务?。

设置和使用 SQL Server PowerShell 提供程序

示例:Enable-SqlAlwaysOn

以下 PowerShell 命令在 SQL Server 实例上启用 Always On 可用性组 (计算机\实例)。

Enable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance

禁用 AlwaysOn 可用性组

重要

一次只能在一个服务器实例上禁用 AlwaysOn。 在禁用 AlwaysOn 可用性组之后,一直等待直到 SQL Server 服务已重启,然后才继续在另一个服务器实例上操作。

建议

在服务器实例上禁用 AlwaysOn 之前,我们建议你执行以下操作:

如果该服务器实例当前正在承载您要保留的可用性组的主副本,我们建议您尽可能手动将该可用性组故障转移到一个同步的辅助副本。 有关详细信息,请参阅执行可用性组的计划手动故障转移 (SQL Server)。

使用 SQL Server 配置管理器

禁用 AlwaysOn

连接到承载要禁用 AlwaysOn 可用性组的 SQL Server 实例的 Windows Server 故障转移群集 (WSFC) 节点。

在 “开始” 菜单中,依次指向 “所有程序” 、 Microsoft SQL Server、 “配置工具” ,然后单击 “SQL Server 配置管理器” 。

在“SQL Server 配置管理器”中,单击“SQL Server 服务”,右键单击 SQL Server (),其中 是要禁用 Always On 可用性组的本地服务器实例的名称,然后单击“属性” 。

在“Always On 高可用性”选项卡上,取消选中“启用 Always On 可用性组”复选框,然后单击“确定” 。

SQL Server 配置管理器保存您的更改并重新启动 SQL Server 服务。 SQL Server 服务重启时,将禁用 AlwaysOn 且 IsHadrEnabled 服务器属性将设置为 0,以指示已禁用 AlwaysOn 可用性组。

使用 SQL Server PowerShell

禁用 AlwaysOn

将目录 (cd) 更改为你要为 AlwaysOn 可用性组禁用的当前启用的服务器实例。

使用 Disable-SqlAlwaysOn cmdlet 来启用 AlwaysOn 可用性组。

例如,以下命令在 SQL Server 的实例上禁用 AlwaysOn 可用性组 (Computer\Instance)。 此命令需要重新启动实例,并将提示您确认此重新启动。

Disable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance

重要

有关如何控制 Disable-SqlAlwaysOn cmdlet 是否重新启动 SQL Server 服务的信息,请参阅本主题后面的 Cmdlet 何时重新启动 SQL Server 服务?。

若要查看 cmdlet 的语法,请在 PowerShell 环境中使用 Get-Help SQL Server cmdlet。 有关详细信息,请参阅 Get Help SQL Server PowerShell。

设置和使用 SQL Server PowerShell 提供程序

跟进:在禁用 AlwaysOn 之后

禁用 AlwaysOn 可用性组后,必须重启 SQL Server 实例。 SQL 配置管理器将自动重新启动该服务器实例。 但是,如果使用了 Disable-SqlAlwaysOn cmdlet,则需要手动重新启动该服务器实例 。 有关详细信息,请参阅 sqlservr Application。

在重新启动的服务器实例上:

可用性数据库在 SQL Server 启动时不启动,因此无法访问它们。

唯一支持的 AlwaysOn Transact-SQL 语句是 DROP AVAILABILITY GROUP。 不支持 CREATE AVAILABILITY GROUP、ALTER AVAILABILITY GROUP 和 ALTER DATABASE 的 SET HADR 选项。

SQL Server 元数据和 WSFC 中的 Always On 可用性组 配置数据不受禁用 AlwaysOn 可用性组的影响。

如果你在为承载一个或多个可用性组的可用性副本的每个服务器实例上都永久禁用 AlwaysOn 可用性组,则我们建议你完成以下步骤:

如果你在禁用 AlwaysOn 前未删除本地可用性副本,则删除服务器实例正为其承载可用性副本的每个可用性组。 有关删除可用性组的信息,请参阅删除可用性组 (SQL Server)。

若要删除留在原地的元数据,请删除服务器实例上作为原始 WSFC 一部分的受影响的可用性组。

所有连接仍可以访问任何主数据库,但是主数据库和辅助数据库之间的数据同步将停止。

辅助数据库将进入 RESTORING 状态。 您可以删除这些数据库,或者可通过使用 RESTORE WITH RECOVERY 还原它们。 但是,还原的数据库不再参与可用性组数据同步。

Cmdlet 何时重新启动 SQL Server 服务?

在当前正在运行的服务器实例上,使用 Enable-SqlAlwaysOn 或 Disable-SqlAlwaysOn 更改当前 AlwaysOn 设置可能导致 SQL Server 服务重新启动 。 重新启动行为取决于以下条件:

指定了 -NoServiceRestart 参数

指定了 -Force 参数

重新启动 SQL Server 服务?

默认情况。 但是 cmdlet 提示您以下信息:

若要完成此操作,必须重新启动服务器实例“”的 SQL Server 服务。是否继续?

[Y] 是 [N] 否 [S] 挂起 [?] 帮助(默认值为“Y”):

如果指定 N 或 S,则不重新启动该服务。

重新启动服务。

不重新启动服务。

不重新启动服务。

另请参阅

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值