Включение и отключение групп доступности 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
В обозревателе объектов щелкните правой кнопкой мыши экземпляр сервера и выберите команду Свойства.
В диалоговом окне Свойства сервера перейдите на страницу Общие. Свойство HADR включен имеет одно из следующих значений:
True, если группы доступности AlwaysOn включены
False, если группы доступности AlwaysOn отключены
Использование Transact-SQL
Определение того, включены ли группы доступности AlwaysOn
Используйте следующую инструкцию SERVERPROPERTY:
SELECT SERVERPROPERTY ('IsHadrEnabled');
Значение свойства сервера IsHadrEnabled указывает, может ли экземпляр SQL Server входить в группы доступности AlwaysOn следующим образом:
Если значение свойства IsHadrEnabled = 1, это означает группы доступности AlwaysOn включены.
Если значение свойства IsHadrEnabled = 0, это означает, что группы доступности AlwaysOn отключены.
Примечание Дополнительные сведения о свойстве сервера IsHadrEnabled см. в разделе SERVERPROPERTY (Transact-SQL).
[В начало]
Использование PowerShell
Определение того, включены ли группы доступности AlwaysOn
Установите путь по умолчанию (cd), указывающий на экземпляр сервера, на котором требуется определить, включена ли функция Группы доступности AlwaysOn.
Введите следующую команду 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»
Выполните подключение к узлу отказоустойчивой кластеризации Windows Server (WSFC), на котором размещен экземпляр SQL Server, на котором требуется включить группы доступности AlwaysOn.
В меню Пуск последовательно укажите пункты Все программы, Microsoft SQL Server 2012 , Средства настройки и выберите пункт Диспетчер конфигурации SQL Server.
В диспетчере конфигурации SQL Server щелкните Службы SQL Server, правой кнопкой мыши щелкните SQL Server (<instance name>), где <instance name> — это имя локального экземпляра сервера, для которого требуется включить группы доступности AlwaysOn, после чего щелкните Свойства.
Перейдите на вкладку Высокий уровень доступности AlwaysOn.
Проверьте, что поле Имя отказоустойчивого кластераWindows содержит имя локального отказоустойчивого кластера. Если это поле пусто, то данный экземпляр сервера в настоящее время не поддерживает Группы доступности AlwaysOn. Либо локальный компьютер не является узлом кластера, кластер WSFC завершил работу, либо этот выпуск SQL Server 2012 не поддерживает Группы доступности AlwaysOn.
Установите флажок Включить группы доступности AlwaysOn и нажмите кнопку ОК.
Диспетчер конфигурации SQL Server сохранит внесенные изменения. После этого необходимо вручную перезапустить службу SQL Server. Это позволит выбрать время перезапуска, которое лучше всего подходит под требования вашего предприятия. После перезапуска службы SQL Server функция AlwaysOn будет включена, а свойство IsHadrEnabled будет установлено в значение 1.
[В начало]
Использование SQL Server PowerShell
Включение функции AlwaysOn
Измените каталог (cd) на каталог экземпляра сервера, для которого необходимо включить группы доступности AlwaysOn.
Используйте командлет 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 на экземпляре сервера рекомендуется выполнить следующие действия.
Если на экземпляре сервера в настоящее время размещается первичная реплика группы доступности, которую нужно сохранить, то рекомендуется вручную переключить группу доступности на синхронизированную вторичную реплику, если это возможно. Дополнительные сведения см. в разделе Выполнение запланированного перехода на другой ресурс вручную для группы доступности (SQL Server).
Удалите все локальные вторичные реплики. Дополнительные сведения см. в разделе Удаление вторичной реплики из группы доступности (SQL Server).
Использование диспетчера конфигурации SQL Server
Отключение функции AlwaysOn
Выполните подключение к узлу отказоустойчивой кластеризации Windows Server (WSFC), где размещен экземпляр SQL Server, в котором требуется отключить группы доступности AlwaysOn.
В меню Пуск последовательно укажите пункты Все программы, Microsoft SQL Server 2012 , Средства настройки и выберите пункт Диспетчер конфигурации SQL Server.
В диспетчере конфигурации SQL Server щелкните Службы SQL Server, правой кнопкой мыши щелкните SQL Server (<instance name>), где <instance name> — это имя локального сервера, для которого требуется отключить группы доступности AlwaysOn, после чего щелкните Свойства.
На вкладке Высокий уровень доступности AlwaysOn снимите флажок Включить группы доступности AlwaysOn и нажмите кнопку OK.
Диспетчер конфигурации служб SQL Server сохранит изменения и перезапустит службу SQL Server. После перезапуска службы SQL Server функция AlwaysOn будет отключена, а свойство IsHadrEnabled будет установлено в значение 0, указывающее на то, группы доступности AlwaysOn отключены.
Рекомендуется ознакомиться с пунктом Дальнейшие действия После отключения AlwaysOn, далее в этом разделе.
[В начало]
Использование SQL Server PowerShell
Отключение функции AlwaysOn
Измените каталог (cd) на каталог экземпляра сервера, включенного в настоящее время, для которого необходимо отключить группы доступности AlwaysOn.
С помощью командлета 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 в каждом экземпляре сервера, где размещается реплика доступности для одной или нескольких групп доступности, то рекомендуется выполнить следующие действия.
Если перед отключением AlwaysOn локальные реплики доступности не удалялись, удалите все группы доступности, для которых на экземпляре сервера размещается реплика доступности. Дополнительные сведения об удалении группы доступности см. в разделе Удаление группы доступности (SQL Server).
Чтобы удалить оставшиеся метаданные, удалите все затронутые группы доступности на экземпляре сервера, который входит в состав исходного кластера WSFC.
Все базы данных-источники остаются доступными для всех подключений, однако синхронизация данных между главной и базами данных-получателями останавливается.
Базы данных-получатели переводятся в состояние 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, служба не будет перезапущена. |
Нет |
Да |
Служба перезапускается. |
Да |
Нет |
Служба не перезапускается. |
Да |
Да |
Служба не перезапускается. |
[В начало]