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

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

Важное примечаниеВажно!

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

  • **Перед началом работы выполните следующие действия. **

    Предварительные требования

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

  • **Инструкции. **

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

    • Включите функцию «Группы доступности AlwaysOn»

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

Перед началом работы

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

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

  • Экземпляр сервера должен работать на выпуске SQL Server, который поддерживает Группы доступности AlwaysOn. Дополнительные сведения см. в разделе Возможности, поддерживаемые различными выпусками SQL Server 2012.

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

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

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

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

Разрешения

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

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

Значок стрелки, используемый со ссылкой «В начало»[В начало]

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

  • Среда SQL Server Management Studio

  • Transact-SQL

  • PowerShell

Использование среды 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), указывающий на экземпляр сервера, на котором требуется определить, включена ли функция Группы доступности AlwaysOn.

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

    PS SQLSERVER:\SQL\NODE1\DEFAULT> get-item . | select IsHadrEnabled
    
    ПримечаниеПримечание

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

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

Значок стрелки, используемый со ссылкой «В начало»[В начало]

Включите функцию «Группы доступности AlwaysOn»

Включение функции AlwaysOn с помощью

  • диспетчера конфигурации SQL Server

  • PowerShell

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

Включение функции «Группы доступности AlwaysOn»

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

  2. В меню Пуск последовательно укажите пункты Все программы, Microsoft SQL Server 2012 , Средства настройки и выберите пункт Диспетчер конфигурации SQL Server.

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

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

  5. Проверьте, что поле Имя отказоустойчивого кластераWindows содержит имя локального отказоустойчивого кластера. Если это поле пусто, то данный экземпляр сервера в настоящее время не поддерживает Группы доступности AlwaysOn. Либо локальный компьютер не является узлом кластера, кластер WSFC завершил работу, либо этот выпуск SQL Server 2012 не поддерживает Группы доступности 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. Дополнительные сведения см. в разделе Получение справок по SQL Server PowerShell.

    ПримечаниеПримечание

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

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

Значок стрелки, используемый со ссылкой «В начало»[В начало]

Пример: Enable-SqlAlwaysOn

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

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

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

  • Перед отключением AlwaysOn  

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

  • Отключение AlwaysOn с помощью

    • диспетчера конфигурации SQL Server

    • PowerShell

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

Важное примечаниеВажно!

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

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

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

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

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

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

Отключение функции AlwaysOn

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

  2. В меню Пуск последовательно укажите пункты Все программы, Microsoft SQL Server 2012 , Средства настройки и выберите пункт Диспетчер конфигурации SQL Server.

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

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

    Диспетчер конфигурации служб 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 (Computer\Instance). Эта команда требует перезапуска экземпляра, который будет предложено подтвердить.

    Disable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance
    
    Важное примечаниеВажно!

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

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

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

Значок стрелки, используемый со ссылкой «В начало»[В начало]

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

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

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

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

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

  • При отключении групп доступности AlwaysOn метаданные службы SQL Server и данные конфигурации Группы доступности AlwaysOn в WSFC не затрагиваются.

Если нужно полностью отключить группы доступности 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?

Нет

Нет

По умолчанию. Однако командлет выводит следующее сообщение:

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

[Y] Да  [N] Нет  [S] Отложить  [?] Справка (по умолчанию — «Y»):

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

Нет

Да

Служба перезапускается.

Да

Нет

Служба не перезапускается.

Да

Да

Служба не перезапускается.

Значок стрелки, используемый со ссылкой «В начало»[В начало]

См. также

Справочник

SERVERPROPERTY (Transact-SQL)

Основные понятия

Обзор групп доступности AlwaysOn (SQL Server)