Включение или отключение функции групп доступности Always OnEnable or Disable Always On availability group feature

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server нетБаза данных SQL AzureнетХранилище данных SQL AzureнетParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Включение Группы доступности AlwaysOnAlways On availability groups является предварительным условием для того, чтобы экземпляр сервера мог использовать группы доступности.Enabling Группы доступности AlwaysOnAlways On availability groups is a prerequisite for a server instance to use availability groups. Перед тем как создавать и настраивать любую группу доступности, следует включить компонент Группы доступности AlwaysOnAlways On availability groups на каждом экземпляре SQL ServerSQL Server , где будет размещаться реплика доступности для одной или нескольких групп доступности.Before you can create and configure any availability group, the Группы доступности AlwaysOnAlways On availability groups feature must have been enabled on the each instance of SQL ServerSQL Server that will host an availability replica for one or more availability groups.

Важно!

При удалении и повторном создании кластера WSFC необходимо отключить и повторно включить функцию Группы доступности AlwaysOnAlways On availability groups в каждом экземпляре SQL ServerSQL Server , который обеспечил размещение реплики доступности в исходном кластере WSFC.If you delete and re-create a WSFC cluster, you must disable and re-enable the Группы доступности AlwaysOnAlways On availability groups feature on each instance of SQL ServerSQL Server that hosted an availability replica on the original WSFC cluster.

Необходимые условия включения групп доступности AlwaysOnPrerequisites for Enabling Always On Availability Groups

  • Экземпляр сервера должен находиться на узле отказоустойчивой кластеризации Windows Server (WSFC).The server instance must reside on a Windows Server Failover Clustering (WSFC) node.

  • Экземпляр сервера должен работать на выпуске SQL Server, который поддерживает Группы доступности AlwaysOnAlways On availability groups.The server instance must be running an edition of SQL Server that supports Группы доступности AlwaysOnAlways On availability groups. Дополнительные сведения см. в разделе Функции, поддерживаемые различными выпусками SQL Server 2016.For more information, see Features Supported by the Editions of SQL Server 2016.

  • Группы доступности AlwaysOn нельзя включить на нескольких экземплярах сервера одновременно.Enable Always On Availability Groups on only one server instance at a time. После включения групп доступности AlwaysOn подождите, пока служба SQL ServerSQL Server перезапустится, и только после этого включайте следующий экземпляр.After enabling Always On Availability Groups, wait until the SQL ServerSQL Server service has restarted before you proceed to another server instance.

Сведения о дополнительных предварительных требованиях к созданию и настройке групп доступности см. в разделе Предварительные требования, ограничения и рекомендации для групп доступности AlwaysOn (SQL Server).For information about additional prerequisites for creating and configuring availability groups, see Prerequisites, Restrictions, and Recommendations for Always On Availability Groups (SQL Server).

PermissionsPermissions

Когда группы доступности AlwaysOn включены в экземпляре SQL ServerSQL Server, экземпляр сервера имеет полный контроль над кластером WSFC.While Always On Availability Groups is enabled on an instance of SQL ServerSQL Server, the server instance has full control on the WSFC cluster.

Требуется членство в группе Администратор на локальном компьютере и полный контроль над кластером WSFC.Requires membership in the Administrator group on the local computer and full control on the WSFC cluster. При отключении функции AlwaysOn с помощью PowerShell откройте окно командной строки, используя команду Запуск от имени администратора .When enabling Always On by using PowerShell, open the Command Prompt window using the Run as administrator option.

Требуются разрешения Active Directory на создание объектов и управление объектами.Requires Active Directory Create Objects and Manage Objects permissions.

Определите, включены ли группы доступности AlwaysOnDetermine Whether Always On Availability Groups is Enabled

Использование среды SQL Server Management StudioUsing SQL Server Management Studio

Определите, включены ли группы доступности AlwaysOnTo determine whether Always On Availability Groups is enabled

  1. В обозревателе объектов щелкните правой кнопкой мыши экземпляр сервера и выберите команду Свойства.In Object Explorer, right-click the server instance, and click Properties.

  2. В диалоговом окне Свойства сервера перейдите на страницу Общие .In the Server Properties dialog box, click the General page. Свойство HADR включен имеет одно из следующих значений:The Is HADR Enabled property displays one of the following values:

    • True, если группы доступности AlwaysOn включеныTrue, if Always On Availability Groups is enabled

    • False, если группы доступности AlwaysOn отключены.False, if Always On Availability Groups is disabled.

Использование Transact-SQLUsing Transact-SQL

Определите, включены ли группы доступности AlwaysOnTo determine whether Always On Availability Groups is enabled

  1. Используйте следующую инструкцию SERVERPROPERTY :Use the following SERVERPROPERTY statement:

    SELECT SERVERPROPERTY ('IsHadrEnabled');  
    

    Значение свойства сервера IsHadrEnabled указывает, может ли экземпляр SQL ServerSQL Server входить в группы доступности AlwaysOn следующим образом:The setting of the IsHadrEnabled server property indicates whether an instance of SQL ServerSQL Server is enabled for Always On Availability Groups, as follows:

    • Если IsHadrEnabled = 1, это означает, что группы доступности AlwaysOn включены.If IsHadrEnabled = 1, Always On Availability Groups is enabled.

    • Если IsHadrEnabled = 0, это означает, что группы доступности AlwaysOn отключены.If IsHadrEnabled = 0, Always On Availability Groups is disabled.

    Примечание

    Дополнительные сведения о свойстве сервера IsHadrEnabled см. в разделе SERVERPROPERTY (Transact-SQL).For more information about the IsHadrEnabled server property, see SERVERPROPERTY (Transact-SQL).

Использование PowerShellUsing PowerShell

Определите, включены ли группы доступности AlwaysOnTo determine whether Always On Availability Groups is enabled

  1. Установите путь по умолчанию (cd), указывающий на экземпляр сервера, на котором требуется определить, включена ли функция Группы доступности AlwaysOnAlways On availability groups .Set default (cd) to the server instance on which you want to determine whether Группы доступности AlwaysOnAlways On availability groups is enabled.

  2. Введите следующую команду PowerShell Get-Item :Enter the following PowerShell Get-Item command:

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

    Примечание

    Чтобы просмотреть синтаксис командлета, воспользуйтесь командлетом Get-Help в среде PowerShell SQL ServerSQL Server .To view the syntax of a cmdlet, use the Get-Help cmdlet in the SQL ServerSQL Server PowerShell environment. Дополнительные сведения см. в разделе Get Help SQL Server PowerShell.For more information, see Get Help SQL Server PowerShell.

Настройка и использование поставщика SQL Server PowerShellTo set up and use the SQL Server PowerShell provider

Включение групп доступности AlwaysOnEnable Always On Availability Groups

Включение функции AlwaysOn с помощью:To enable Always On, using:

Использование диспетчера конфигурации SQL ServerUsing SQL Server Configuration Manager

Включение функции "Группы доступности AlwaysOn"To enable Always On Availability Groups

  1. Подключитесь к узлу отказоустойчивого кластера Windows Server (WSFC) с экземпляром SQL ServerSQL Server, для которого требуется включить группы доступности Always On.Connect to the Windows Server Failover Cluster (WSFC) node that hosts the SQL ServerSQL Server instance where you want to enable Always On Availability Groups.

  2. В меню Пуск последовательно выберите пункты Все программы, Microsoft SQL Server 2017Microsoft SQL Server 2017, Средства настройкии Диспетчер конфигурации SQL Server.On the Start menu, point to All Programs, point to Microsoft SQL Server 2017Microsoft SQL Server 2017, point to Configuration Tools, and click SQL Server Configuration Manager.

  3. В диспетчере конфигураций SQL Server выберите Службы SQL Server, правой кнопкой мыши щелкните SQL Server ( < имя_экземпляра ), где < имя_экземпляра >  — это имя локального экземпляра сервера, для которого требуется включить группы доступности AlwaysOn, после чего щелкните Свойства.In SQL Server Configuration Manager, click SQL Server Services, right-click SQL Server (<instance name>), where <instance name> is the name of a local server instance for which you want to enable Always On Availability Groups, and click Properties.

  4. Перейдите на вкладку Высокий уровень доступности AlwaysOn.Select the Always On High Availability tab.

  5. Убедитесь, что поле Имя отказоустойчивого кластера Windows содержит имя локального отказоустойчивого кластера.Verify that Windows failover cluster name field contains the name of the local failover cluster. Если это поле не заполнено, в настоящее время этот экземпляр сервера не поддерживает Группы доступности AlwaysOnAlways On availability groups.If this field is blank, this server instance currently does not support Группы доступности AlwaysOnAlways On availability groups. Либо локальный компьютер не является узлом кластера, кластер WSFC завершил работу, либо этот выпуск SQL Server 2017SQL Server 2017 не поддерживает Группы доступности AlwaysOnAlways On availability groups.Either the local computer is not a cluster node, the WSFC cluster has been shut down, or this edition of SQL Server 2017SQL Server 2017 that does not support Группы доступности AlwaysOnAlways On availability groups.

  6. Установите флажок Включить группы доступности AlwaysOn и нажмите кнопку ОК.Select the Enable Always On Availability Groups check box, and click OK.

    SQL ServerSQL Server сохранит внесенные изменения.Configuration Manager saves your change. После этого необходимо вручную перезапустить службу SQL ServerSQL Server .Then, you must manually restart the SQL ServerSQL Server service. Это позволит выбрать время перезапуска, которое лучше всего подходит под требования вашего предприятия.This enables you to choose a restart time that is best for your business requirements. После перезапуска службы SQL ServerSQL Server функция AlwaysOn будет включена, а для свойства IsHadrEnabled будет задано значение 1.When the SQL ServerSQL Server service restarts, Always On will be enabled, and the IsHadrEnabled server property will be set to 1.

Использование SQL Server PowerShellUsing SQL Server PowerShell

Включение AlwaysOnTo enable Always On

  1. Измените каталог (cd) на каталог экземпляра сервера, для которого необходимо включить группы доступности AlwaysOn.Change directory (cd) to a server instance that you want to enable for Always On Availability Groups.

  2. С помощью командлета Enable-SqlAlwaysOn включите группы доступности AlwaysOn.Use the Enable-SqlAlwaysOn cmdlet to enable Always On Availability Groups.

    Чтобы просмотреть синтаксис командлета, воспользуйтесь командлетом Get-Help в среде PowerShell SQL ServerSQL Server .To view the syntax of a cmdlet, use the Get-Help cmdlet in the SQL ServerSQL Server PowerShell environment. Дополнительные сведения см. в разделе Get Help SQL Server PowerShell.For more information, see Get Help SQL Server PowerShell.

    Примечание

    Дополнительные сведения о настройке перезапуска службы SQL ServerSQL Server для командлета Enable-SqlAlwaysOn см. ниже в разделе Когда командлет перезапускает службу SQL Server?For information about how to control whether the Enable-SqlAlwaysOn cmdlet restarts the SQL ServerSQL Server service, see When Does a Cmdlet Restart the SQL Server Service?, later in this topic.

Настройка и использование поставщика SQL Server PowerShellTo set up and use the SQL Server PowerShell provider

Пример. Enable-SqlAlwaysOnExample: Enable-SqlAlwaysOn

Следующая команда PowerShell включает Группы доступности AlwaysOnAlways On availability groups на экземпляре SQL Server (Computer\Instance).The following PowerShell command enables Группы доступности AlwaysOnAlways On availability groups on an instance of SQL Server (Computer\Instance).

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

Отключение групп доступности AlwaysOnDisable Always On Availability Groups

Важно!

Функцию AlwaysOn следует отключать на серверах по одному.Disable Always On on only one server instance at a time. После отключения групп доступности AlwaysOn подождите, пока служба SQL ServerSQL Server перезапустится, и только после этого переходите к другому экземпляру.After disabling Always On Availability Groups, wait until the SQL ServerSQL Server service has restarted before you proceed to another server instance.

РекомендацииRecommendations

Перед отключением AlwaysOn на экземпляре сервера рекомендуется выполнить следующие действия:Before you disable Always On on a server instance, we recommend that you do the following:

  1. Если на экземпляре сервера в настоящее время размещается первичная реплика группы доступности, которую нужно сохранить, то рекомендуется вручную переключить группу доступности на синхронизированную вторичную реплику, если это возможно.If the server instance is currently hosting the primary replica of an availability group that you want to keep, we recommend that you manually fail over the availability group to a synchronized secondary replica, if possible. Дополнительные сведения см. в разделе Выполнение запланированного перехода на другой ресурс вручную для группы доступности (SQL Server).For more information, see Perform a Planned Manual Failover of an Availability Group (SQL Server).

  2. Удалите все локальные вторичные реплики.Remove all local secondary replicas. Дополнительные сведения см. в разделе Удаление вторичной реплики из группы доступности (SQL Server).For more information, see Remove a Secondary Replica from an Availability Group (SQL Server).

Использование диспетчера конфигурации SQL ServerUsing SQL Server Configuration Manager

Отключение функции AlwaysOnTo disable Always On

  1. Подключитесь к узлу отказоустойчивого кластера Windows Server (WSFC) с экземпляром SQL ServerSQL Server, для которого требуется отключить группы доступности Always On.Connect to the Windows Server Failover Cluster (WSFC) node that hosts the SQL ServerSQL Server instance where you want to disable Always On Availability Groups.

  2. В меню Пуск последовательно укажите пункты Все программы, Microsoft SQL Server 2017Microsoft SQL Server 2017, Средства настройкии выберите пункт Диспетчер конфигурации SQL Server.On the Start menu, point to All Programs, point to Microsoft SQL Server 2017Microsoft SQL Server 2017, point to Configuration Tools, and click SQL Server Configuration Manager.

  3. В диспетчере конфигураций SQL Server щелкните SQL Server Services, правой кнопкой щелкните SQL Server ( < имя_экземпляра >) , где < имя_экземпляра >  — это имя локального экземпляра сервера, для которого требуется отключить группы доступности AlwaysOn, и щелкните Свойства.In SQL Server Configuration Manager, click SQL Server Services, right-click SQL Server (<instance name>), where <instance name> is the name of a local server instance for which you want to disable Always On Availability Groups, and click Properties.

  4. На вкладке Высокий уровень доступности Always Onснимите флажок Включить группы доступности Always On и нажмите кнопку ОК.On the Always On High Availability tab, deselect the Enable Always On Availability Groups check box, and click OK.

    SQL ServerSQL Server сохранит изменения и перезапустит службу SQL ServerSQL Server .Configuration Manager saves your change and restarts the SQL ServerSQL Server service. После перезапуска службы SQL ServerSQL Server функция AlwaysOn будет отключена, а для свойства IsHadrEnabled будет установлено значение 0, указывающее на то, что группы доступности AlwaysOn отключены.When the SQL ServerSQL Server service restarts, Always On will be disabled, and the IsHadrEnabled server property will be set to 0, to indicate that Always On Availability Groups is disabled.

  5. Рекомендуется ознакомиться с пунктом Дальнейшие действия. После отключения Always On далее в этом разделе.We recommend that you read the information in Follow Up: After Disabling Always On, later in this topic.

Использование SQL Server PowerShellUsing SQL Server PowerShell

Отключение функции AlwaysOnTo disable Always On

  1. Измените каталог (cd) на каталог экземпляра сервера, включенного в настоящее время, для которого необходимо отключить группы доступности Always On.Change directory (cd) to a currently-enabled server instance that you want to disenable for Always On Availability Groups.

  2. С помощью командлета Disable-SqlAlwaysOn отключите группы доступности AlwaysOn.Use the Disable-SqlAlwaysOn cmdlet to enable Always On Availability Groups.

    Например, следующая команда отключает группы доступности AlwaysOn в экземпляре SQL Server (Computer\Instance).For example, the following command disables Always On Availability Groups on an instance of SQL Server (Computer\Instance). Эта команда требует перезапуска экземпляра, который будет предложено подтвердить.This command requires restarting the instance, and you will be prompted to confirm this restart.

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

    Важно!

    Дополнительные сведения о настройке перезапуска службы SQL ServerSQL Server для командлета Disable-SqlAlwaysOn см. ниже в разделе Когда командлет перезапускает службу SQL Server?.For information about how to control whether the Disable-SqlAlwaysOn cmdlet restarts the SQL ServerSQL Server service, see When Does a Cmdlet Restart the SQL Server Service?, later in this topic.

    Чтобы просмотреть синтаксис командлета, воспользуйтесь командлетом Get-Help в среде PowerShell SQL ServerSQL Server .To view the syntax of a cmdlet, use the Get-Help cmdlet in the SQL ServerSQL Server PowerShell environment. Дополнительные сведения см. в разделе Get Help SQL Server PowerShell.For more information, see Get Help SQL Server PowerShell.

Настройка и использование поставщика SQL Server PowerShellTo set up and use the SQL Server PowerShell provider

Дальнейшие действия. После отключения Always OnFollow Up: After Disabling Always On

После отключения групп доступности AlwaysOn экземпляр SQL ServerSQL Server необходимо перезапустить.After you disable Always On Availability Groups, the instance of SQL ServerSQL Server must be restarted. Диспетчер конфигурации SQL Server автоматически перезапускает экземпляр сервера.SQL Configuration Manager restarts the server instance automatically. Но если использовался командлет Disable-SqlAlwaysOn, то потребуется перезапустить экземпляр сервера вручную.However, if you used the Disable-SqlAlwaysOn cmdlet, you will need to restart the server instance manually. Дополнительные сведения см. в статье sqlservr Application.For more information, see sqlservr Application.

На перезапущенном экземпляре сервера происходит следующее:On the restarted server instance:

  • базы данных обеспечения доступности не запускаются при запуске сервер SQL Server, из-за чего они становятся недоступными.Availability databases do not start up at SQL Server startup, making them inaccessible.

  • Единственная поддерживаемая инструкция Transact-SQLTransact-SQL AlwaysOn — это DROP AVAILABILITY GROUP.The only supported Always On Transact-SQLTransact-SQL statement is DROP AVAILABILITY GROUP. Инструкции CREATE AVAILABILITY GROUP, ALTER AVAILABILITY GROUP и параметры SET HADR инструкции ALTER DATABASE не поддерживаются.CREATE AVAILABILITY GROUP, ALTER AVAILABILITY GROUP, and the SET HADR options of ALTER DATABASE are not supported.

  • SQL ServerSQL Server При отключении групп доступности AlwaysOn метаданные и данные конфигурации Группы доступности AlwaysOnAlways On availability groups в WSFC не затрагиваются.metadata and Группы доступности AlwaysOnAlways On availability groups configuration data in WSFC are unaffected by disabling Always On Availability Groups.

Если нужно полностью отключить группы доступности AlwaysOn в каждом экземпляре сервера, где размещается реплика доступности для одной или нескольких групп доступности, то рекомендуется выполнить следующие действия:If you permanently disable Always On Availability Groups on every server instance that hosts an availability replica for one or more availability groups, we recommend that you complete the following steps:

  1. Если перед отключением AlwaysOn локальные реплики доступности не удалялись, удалите все группы доступности, для которых на экземпляре сервера размещается реплика доступности.If you did not remove the local availability replicas before disabling Always On, delete (drop) each availability group for which the server instance is hosting an availability replica. Сведения об удалении группы доступности см. в разделе Удаление группы доступности (SQL Server).For information about deleting an availability group, see Remove an Availability Group (SQL Server).

  2. Чтобы удалить оставшиеся метаданные, удалите все затронутые группы доступности в экземпляре сервера, который входит в состав исходного кластера WSFC.To remove the metadata left behind, delete (drop) each affected availability group on a server instance that is part of the original WSFC.

  3. Все базы данных-источники остаются доступными для всех подключений, однако синхронизация данных между главной и базами данных-получателями останавливается.Any primary databases continue to be accessible to all connections but the data synchronization between the primary and secondary databases stops.

  4. Базы данных-получатели переводятся в состояние RESTORING.The secondary databases enter the RESTORING state. Вы можете либо удалить эти базы данных, либо восстановить их при помощи функции RESTORE WITH RECOVERY.You can delete them, or you can restore them by using RESTORE WITH RECOVERY. Однако восстановленные базы данных больше не будут участвовать в синхронизации данных группы доступности.However, restored databases are no longer participating in availability-group data synchronization.

Когда командлет перезапускает службу SQL Server?When Does a Cmdlet Restart the SQL Server Service?

В запущенном экземпляре сервера использование командлетов Enable-SqlAlwaysOn или Disable-SqlAlwaysOn для смены текущей настройки функции AlwaysOn может стать причиной перезапуска службы SQL Server.On a server instance that is currently running, using Enable-SqlAlwaysOn or Disable-SqlAlwaysOn to change the current Always On setting could cause the SQL Server service to restart. Алгоритм перезапуска зависит от следующих условий:The restart behavior on depends on the following conditions:

указан параметр -NoServiceRestart;-NoServiceRestart parameter specified указан параметр -Force.-Force parameter specified Перезапущена ли служба SQL ServerSQL Server ?Is the SQL ServerSQL Server service restarted?
нетNo нетNo По умолчанию.By default. Однако командлет выводит следующее сообщение:But the cmdlet prompts you as follows:

Чтобы выполнить это действие, необходимо перезапустить службу SQL Server для экземпляра сервера "<имя_экземпляра>". Продолжить?To complete this action, we must restart the SQL Server service for server instance '<instance_name>'. Do you want to continue?

[Y] Yes [N] No [S] Suspend [?] Help (значение по умолчанию — "Y"):[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"):

Если указать N или S, служба не будет перезапущена.If you specify N or S, the service is not restarted.
нетNo ДаYes Служба перезапускается.Service is restarted.
ДаYes нетNo Служба не перезапускается.Service is not restarted.
ДаYes ДаYes Служба не перезапускается.Service is not restarted.

См. также:See Also

Обзор групп доступности AlwaysOn (SQL Server) Overview of Always On Availability Groups (SQL Server)
SERVERPROPERTY (Transact-SQL)SERVERPROPERTY (Transact-SQL)