Поделиться через


Включение и отключение групп доступности AlwaysOn (SQL Server)

Включение групп доступности AlwaysOn является обязательным условием для использования групп доступности экземпляра сервера. Прежде чем создать и настроить любую группу доступности, функция групп доступности AlwaysOn должна быть включена в каждом экземпляре SQL Server, где будет размещаться реплика доступности для одной или нескольких групп доступности.

Внимание

При удалении и повторном создании кластера WSFC необходимо отключить и повторно включить функцию групп доступности AlwaysOn в каждом экземпляре SQL Server, где размещена реплика доступности в исходном кластере WSFC.

Перед началом

Необходимые условия включения групп доступности AlwaysOn

  • Экземпляр сервера должен находиться на узле отказоустойчивой кластеризации Windows Server (WSFC).

  • Экземпляр сервера должен запускать выпуск SQL Server, поддерживающий группы доступности AlwaysOn. Дополнительные сведения см. в разделе Features Supported by the Editions of SQL Server 2014.

  • Включайте группы доступности AlwaysOn только на одном экземпляре сервера единовременно. После включения групп доступности AlwaysOn дождитесь перезапуска службы SQL Server, прежде чем перейти к другому экземпляру сервера.

Сведения о дополнительных предварительных требованиях для создания и настройки групп доступности см. в статьях "Предварительные требования", "Ограничения" и "Рекомендации" для групп доступности AlwaysOn (SQL Server).

Безопасность

Хотя группы доступности AlwaysOn включены в экземпляре SQL Server, экземпляр сервера имеет полный контроль над кластером WSFC.

Разрешения

Требуется членство в группе Администратор на локальном компьютере и полный контроль над кластером WSFC. При включении функции AlwaysOn при помощи консоли PowerShell, откройте окно командной строки, используя команду Запуск от имени администратора .

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

Определите, включены ли группы доступности AlwaysOn

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

Определение включения групп доступности AlwaysOn

  1. В обозревателе объектов щелкните правой кнопкой мыши экземпляр сервера и выберите элемент Свойства.

  2. В диалоговом окне Свойства сервера перейдите на страницу Общие . Свойство HADR включен имеет одно из следующих значений:

    • True, если группы доступности AlwaysOn включены

    • False, если группы доступности AlwaysOn отключены

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

Определение включения групп доступности AlwaysOn

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

    SELECT SERVERPROPERTY ('IsHadrEnabled');  
    

    Параметр свойства IsHadrEnabled сервера указывает, включен ли экземпляр SQL Server для групп доступности AlwaysOn следующим образом:

    • Если значение свойства IsHadrEnabled = 1, это означает группы доступности AlwaysOn включены.

    • Если значение свойства IsHadrEnabled = 0, это означает, что группы доступности AlwaysOn отключены.

    Примечание.

    Дополнительные сведения о свойстве сервера см. в IsHadrEnabled разделе SERVERPROPERTY (Transact-SQL).

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

Определение включения групп доступности AlwaysOn

  1. Задайте значение по умолчанию (cd) экземпляру сервера (например \SQL\NODE1\DEFAULT, для которого требуется определить, включена ли группа доступности AlwaysOn).

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

    Get-Item . | Select IsHadrEnabled  
    

    Примечание.

    Чтобы просмотреть синтаксис командлета, используйте Get-Help командлет в среде SQL Server PowerShell. Дополнительные сведения см. в разделе Get Help SQL Server PowerShell.

Настройка и использование поставщика SQL Server PowerShell

Включение групп доступности AlwaysOn

Чтобы включить AlwaysOn, используйте следующее:

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

Включение групп доступности AlwaysOn

  1. Подключитесь к узлу отказоустойчивой кластеризации Windows Server (WSFC), на котором размещается экземпляр SQL Server, где требуется включить группы доступности AlwaysOn.

  2. В меню "Пуск" наведите указатель на все программы, наведите указатель на Microsoft SQL Server 2014, наведите указатель на средства настройки и щелкните диспетчер конфигурации SQL Server.

  3. В диспетчер конфигурации SQL Server щелкните службы SQL Server, щелкните правой кнопкой мыши SQL Server (instance name><), где <instance name> имя экземпляра локального сервера, для которого требуется включить группы доступности AlwaysOn, и нажмите кнопку "Свойства".

  4. Перейдите на вкладку Высокий уровень доступности AlwaysOn .

  5. Убедитесь, что поле Имя отказоустойчивого кластера Windows содержит имя локального отказоустойчивого кластера. Если это поле не заполнено, значит в настоящее время этот экземпляр сервера не поддерживает группы доступности Always On. Локальный компьютер не является узлом кластера, кластер WSFC завершен или этот выпуск SQL Server 2014, который не поддерживает группы доступности AlwaysOn.

  6. Установите флажок Включить группы доступности AlwaysOn и нажмите кнопку ОК.

    диспетчер конфигурации SQL Server сохраняет изменения. Затем необходимо вручную перезапустить службу SQL Server. Это позволит выбрать время перезапуска, которое лучше всего подходит под требования вашего предприятия. Когда служба SQL Server перезапускается, AlwaysOn будет включена, а IsHadrEnabled свойство сервера будет иметь значение 1.

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

Включение AlwaysOn

  1. Измените каталог (cd) на каталог экземпляра сервера, для которого необходимо включить группы доступности AlwaysOn.

  2. С помощью командлета Enable-SqlAlwaysOn включите группы доступности AlwaysOn.

    Чтобы просмотреть синтаксис командлета, используйте Get-Help командлет в среде SQL Server PowerShell. Дополнительные сведения см. в разделе Get Help SQL Server PowerShell.

    Примечание.

    Сведения о том, как управлять Enable-SqlAlwaysOn перезапуском службы SQL Server командлетом, см . в разделе "Когда командлет перезагрузит службу SQL Server?", далее в этом разделе.

Настройка и использование поставщика SQL Server PowerShell

Пример: Enable-SqlAlwaysOn

Следующая команда PowerShell включает группы доступности AlwaysOn в экземпляре SQL Server (экземпляр компьютера\).

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

Отключите группы доступности AlwaysOn

Внимание

Функцию AlwaysOn следует одновременно отключать только для одного экземпляра. После отключения групп доступности AlwaysOn дождитесь перезапуска службы SQL Server, прежде чем перейти к другому экземпляру сервера.

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

Перед отключением AlwaysOn на экземпляре сервера рекомендуется выполнить следующие действия.

  1. Если на экземпляре сервера в настоящее время размещается первичная реплика группы доступности, которую нужно сохранить, то рекомендуется вручную переключить группу доступности на синхронизированную вторичную реплику, если это возможно. Дополнительные сведения см. в статье Выполнение планового перехода на другой ресурс вручную для группы доступности Always On (SQL Server).

  2. Удалите все локальные вторичные реплики. Дополнительные сведения см. в статье Удаление вторичной реплики из группы доступности (SQL Server).

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

Отключение AlwaysOn

  1. Подключитесь к узлу отказоустойчивой кластеризации Windows Server (WSFC), на котором размещен экземпляр SQL Server, в котором требуется отключить группы доступности AlwaysOn.

  2. В меню "Пуск" наведите указатель на все программы, наведите указатель на Microsoft SQL Server 2014, наведите указатель на средства настройки и щелкните диспетчер конфигурации SQL Server.

  3. В диспетчер конфигурации SQL Server щелкните службы SQL Server, щелкните правой кнопкой мыши SQL Server (instance name><), где <instance name> имя экземпляра локального сервера, для которого требуется отключить группы доступности AlwaysOn и щелкните "Свойства".

  4. На вкладкеВысокий уровень доступности AlwaysOnснимите флажок Включить группы доступности AlwaysOn и нажмите кнопку ОК.

    Диспетчер конфигурации SQL Server сохранит изменения и перезапустит службу SQL Server. Когда служба SQL Server перезапускается, AlwaysOn будет отключена, а IsHadrEnabled свойство сервера будет иметь значение 0, чтобы указать, что группы доступности AlwaysOn отключены.

  5. Рекомендуется ознакомиться с разделом Дальнейшие действия. После отключения AlwaysOnниже в этой статье.

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

Отключение AlwaysOn

  1. Измените каталог (cd) на экземпляр сервера с поддержкой в настоящее время, который требуется запретить для групп доступности AlwaysOn.

  2. С помощью командлета Disable-SqlAlwaysOn включите группы доступности AlwaysOn.

    Например, следующая команда отключает группы доступности AlwaysOn в экземпляре SQL Server (экземпляр компьютера\). Эта команда требует перезапуска экземпляра, который будет предложено подтвердить.

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

    Внимание

    Сведения о том, как управлять Disable-SqlAlwaysOn перезапуском службы SQL Server командлетом, см . в разделе "Когда командлет перезагрузит службу SQL Server?", далее в этом разделе.

    Чтобы просмотреть синтаксис командлета, используйте Get-Help командлет в среде SQL Server PowerShell. Дополнительные сведения см. в разделе Get Help SQL Server PowerShell.

Настройка и использование поставщика SQL Server PowerShell

Дальнейшие действия. После отключения AlwaysOn

После отключения групп доступности AlwaysOn необходимо перезапустить экземпляр SQL Server. Диспетчер конфигурации SQL Server автоматически перезапускает экземпляр сервера. Но если использовался командлет Disable-SqlAlwaysOn, то потребуется перезапустить экземпляр сервера вручную. Дополнительные сведения см. в статье sqlservr Application.

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

  • базы данных обеспечения доступности не запускаются при запуске сервер SQL Server, из-за чего они становятся недоступными.

  • Единственной поддерживаемой инструкцией AlwaysOn Transact-SQL является DROP AVAILABILITY GROUP. Инструкции CREATE AVAILABILITY GROUP, ALTER AVAILABILITY GROUP и параметры SET HADR инструкции ALTER DATABASE не поддерживаются.

  • Метаданные SQL Server и данные конфигурации групп доступности AlwaysOn в WSFC не влияют на отключение групп доступности AlwaysOn.

Если нужно полностью отключить группы доступности AlwaysOn в каждом экземпляре сервера, где размещается реплика доступности для одной или нескольких групп доступности, то рекомендуется выполнить следующие действия.

  1. Если перед отключением AlwaysOn локальные реплики доступности не удалялись, удалите все группы доступности, для которых на экземпляре сервера размещается реплика доступности. Сведения об удалении группы доступности см. в статье Удаление группы доступности (SQL Server).

  2. Чтобы удалить оставшиеся метаданные, удалите все затронутые группы доступности на экземпляре сервера, который входит в состав исходного кластера WSFC.

  3. Все базы данных-источники остаются доступными для всех подключений, однако синхронизация данных между главной и базами данных-получателями останавливается.

  4. Базы данных-получатели переводятся в состояние RESTORING. Вы можете либо удалить эти базы данных, либо восстановить их при помощи функции RESTORE WITH RECOVERY. Однако восстановленные базы данных больше не будут участвовать в синхронизации данных группы доступности.

Когда командлет перезапускает службу SQL Server?

В экземпляре сервера, запущенном в настоящее время, использование командлетов Enable-SqlAlwaysOn или Disable-SqlAlwaysOn для смены текущей настройки функции AlwaysOn может стать причиной перезапуска службы SQL Server. Алгоритм перезапуска зависит от следующих условий:

указан параметр -NoServiceRestart; указан параметр -Force. Перезапущена ли служба SQL Server?
No No По умолчанию. Однако командлет выводит следующее сообщение:

Чтобы выполнить это действие, необходимо перезапустить службу SQL Server для экземпляра сервера "<имя_экземпляра>". Вы действительно хотите продолжить?

[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"):

Если указать N или S, служба не будет перезапущена.
No Да Служба перезапускается.
Да Нет Служба не перезапускается.
Да Да Служба не перезапускается.

См. также

Общие сведения о группах доступности AlwaysOn (SQL Server)
SERVERPROPERTY (Transact-SQL)