Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:SQL Server
Прежде чем создать и настроить группу доступности Always On, необходимо включить функцию групп доступности Always On на каждом экземпляре SQL Server, на котором размещена реплика доступности.
Внимание
При удалении и повторном создании кластера WSFC необходимо отключить и повторно включить функцию групп доступности Always On на каждом экземпляре SQL Server, где размещена реплика доступности в исходном кластере WSFC.
Предварительные требования
В SQL Server 2016 (13.x) экземпляр должен находиться на узле отказоустойчивого кластера Windows Server (WSFC), чтобы включить функцию группы доступности.
В SQL Server 2017 (14.x) и более поздних версиях для поддержки групп доступности читаемого масштабирования можно включить функцию группы доступности, даже если экземпляр SQL Server не находится в отказоустойчивом кластере Windows Server.
Экземпляр сервера должен работать на версии SQL Server, поддерживающей группы доступности Always On. Дополнительные сведения см. в разделе Editions и поддерживаемые функции SQL Server 2025.
Включите группы доступности только на одном экземпляре сервера одновременно. После включения групп доступности дождитесь перезапуска службы SQL Server, прежде чем перейти к другому экземпляру сервера.
См. раздел Требования, ограничения и рекомендации для групп доступности Always On (SQL Server) для получения дополнительных сведений.
Разрешения
При включении групп доступности в экземпляре SQL Server экземпляр сервера имеет полный контроль над кластером WSFC.
Необходимо быть членом группы администраторов на локальном компьютере и иметь полный контроль над кластером WSFC. Если включить группы доступности с помощью PowerShell, откройте окно командной строки с помощью параметра "Запуск от имени администратора ".
Вам требуются разрешения создание объектов Active Directory и управление объектами.
Определите, включена ли функция
Вы можете использовать SQL Server Management Studio (SSMS), Transact-SQL или PowerShell, чтобы проверить, включена ли функция групп доступности.
Использование SQL Server Management Studio
В SQL Server Management Studio (SSMS) в Object Explorer щелкните правой кнопкой мыши экземпляр сервера и выберите Properties.
В диалоговом окне "Свойства сервера" выберите страницу "Общие ". Свойство HADR включен имеет одно из следующих значений:
- True, если включены группы доступности
- false, если группы доступности отключены.
Использование Transact-SQL
Используйте следующую инструкцию SERVERPROPERTY :
SELECT SERVERPROPERTY('IsHadrEnabled');
Параметр свойства сервера IsHadrEnabled указывает, включен ли экземпляр SQL Server для групп доступности следующим образом:
— это , если группы доступности включены. -
IsHadrEnabledявляется0, если группы доступности отключены.
Примечание.
Дополнительные сведения о свойстве сервера см. в IsHadrEnabled разделе SERVERPROPERTY.
Использование PowerShell
Измените каталог (
cd) на экземпляр сервера, где вы хотите определить, включены ли группы доступности Always On.Введите следующую команду PowerShell
Get-Itemв командной строкеSQLSERVER:\SQL\NODE1\DEFAULT:Get-Item . | Select-Object IsHadrEnabledПримечание.
Чтобы просмотреть синтаксис командлета, используйте командлет
Get-Helpв среде SQL Server PowerShell. Дополнительные сведения см. в статье Get Help SQL Server PowerShell.
Сведения о настройке и использовании поставщика PowerShell для SQL Server см. в разделе Поставщик PowerShell для SQL Server.
Включение функции
Вы можете включить функцию групп доступности с помощью SQL Server Management Studio (SSMS) или PowerShell.
Включение с помощью SQL Server Management Studio
Подключитесь к узлу отказоустойчивого кластера Windows Server (WSFC), на котором размещается экземпляр SQL Server, где требуется включить группы доступности.
В меню Start наведите указатель на All Programs, наведите указатель на Microsoft SQL Server выберите Configuration Tools и выберите SQL Server Configuration Manager.
В SQL Server Configuration Manager выберите службы SQL Server, щелкните правой кнопкой мыши SQL Server (<instance name>). Имя<экземпляра> — это имя локального экземпляра сервера, для которого вы хотите активировать группы доступности. Выберите Свойства.
Выберите вкладку Always On High Availability.
Убедитесь, что поле имени отказоустойчивого кластера Windows содержит имя локального отказоустойчивого кластера. Если это поле пусто, этот экземпляр сервера в настоящее время не поддерживает группы доступности Always On. Локальный компьютер не является узлом кластера, кластер WSFC завершает работу или этот выпуск SQL Server не поддерживает группы доступности Always On.
Установите флажок Включить всегда включенные группы доступности и выберите OK.
SQL Server Configuration Manager сохраняет изменения. Затем необходимо вручную перезапустить службу SQL Server. Этот шаг позволяет выбрать время перезапуска, которое лучше всего соответствует вашим бизнес-требованиям. При перезапуске службы SQL Server группы доступности включены, а свойство сервера
IsHadrEnabledимеет значение1.
Включение с помощью PowerShell
Измените каталог (
cd) на экземпляр сервера, в котором требуется включить группы доступности.Используйте командлет Enable-SqlAlwaysOn , чтобы включить группы доступности.
Чтобы просмотреть синтаксис командлета, используйте командлет
Get-Helpв среде SQL Server PowerShell. Дополнительные сведения см. в статье Get Help SQL Server PowerShell.Примечание.
Сведения о том, как управлять тем, происходит ли перезапуск службы SQL Server командлетом
Enable-SqlAlwaysOn, см. в разделе Когда командлет перезапускает службу SQL Server? далее в этой статье.
Сведения о настройке и использовании поставщика PowerShell для SQL Server см. в разделе Поставщик PowerShell для SQL Server.
Пример: Enable-SqlAlwaysOn
Следующая команда PowerShell включает группы доступности Always On в экземпляре SQL Server (<computer>\<Instance>).
Enable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance
Отключение функции
Используйте следующие разделы, чтобы отключить функцию групп доступности с помощью SQL Server Configuration Manager или PowerShell. После завершения операции отключения можно выполнить все необходимые задачи.
Внимание
Отключите функцию групп доступности только на одном экземпляре сервера одновременно. После отключения групп доступности Always On дождитесь перезапуска службы SQL Server, прежде чем перейти к другому экземпляру сервера.
Рекомендации
Прежде чем отключить функцию групп доступности на экземпляре сервера, выполните следующие действия.
Если экземпляр сервера в настоящее время размещает первичную реплику группы доступности, которую вы хотите сохранить, вручную переключите эту группу доступности на синхронизированную вторичную реплику, если это осуществимо. Для получения дополнительных сведений см. в разделе Выполнение планового ручного переключения группы доступности (SQL Server).
Удалите все локальные вторичные реплики. Дополнительные сведения см. в разделе Удаление вторичной реплики из группы доступности (SQL Server).
Отключение с помощью SQL Server Configuration Manager
Подключитесь к узлу отказоустойчивого кластера Windows Server (WSFC), на котором размещается экземпляр SQL Server, где требуется отключить группы доступности.
В меню Start наведите указатель на All Programs, наведите указатель на Microsoft SQL Server выберите Configuration Tools и выберите SQL Server Configuration Manager.
В SQL Server Configuration Manager выберите SQL Server Services и щелкните правой кнопкой мыши SQL Server (<instance name>). Имя<экземпляра — это имя > локального экземпляра сервера, для которого требуется отключить группы доступности. Выберите Свойства.
На вкладке Always On высокий уровень доступности снимите флажок Enable Always On группы доступности и выберите OK.
SQL Server Configuration Manager сохраняет изменения и перезапускает службу SQL Server. При перезапуске службы SQL Server группы доступности отключаются, а для свойства сервера IsHadrEnabled задано значение
0, чтобы указать, что эта функция отключена.Ознакомьтесь со сведениями в разделе "Дальнейшие действия" далее в этой статье.
Отключение с помощью PowerShell
Измените каталог (
cd) на в данный момент включенный экземпляр сервера, где требуется отключить группы доступности.Используйте командлет
Disable-SqlAlwaysOnдля отключения групп доступности.Например, следующая команда отключает группы доступности в экземпляре SQL Server (Computer\Instance). Эта команда требует перезапуска экземпляра, и вам будет предложено подтвердить этот перезапуск.
Disable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\InstanceВнимание
Сведения о том, как управлять тем, происходит ли перезапуск службы SQL Server командлетом
Disable-SqlAlwaysOn, см. в разделе Когда командлет перезапускает службу SQL Server? далее в этой статье.Чтобы просмотреть синтаксис командлета, используйте командлет
Get-Helpв среде SQL Server PowerShell. Дополнительные сведения см. в статье Get Help SQL Server PowerShell.
Сведения о настройке и использовании поставщика PowerShell для SQL Server см. в разделе Поставщик PowerShell для SQL Server.
Дальнейшие действия после отключения групп доступности
После отключения групп доступности Always On перезапустите экземпляр SQL Server. SQL Configuration Manager перезапускает экземпляр сервера автоматически. Однако при использовании командлета Disable-SqlAlwaysOn необходимо перезапустить экземпляр сервера вручную. Дополнительные сведения см. в статье sqlservr Application.
На перезапущенном экземпляре сервера происходит следующее:
Базы данных доступности не запускают при запуске SQL Server, что делает их недоступными.
Единственным поддерживаемым оператором группы доступности Transact-SQL является DROP AVAILABILITY GROUP.
CREATE AVAILABILITY GROUP,ALTER AVAILABILITY GROUPиSET HADRпараметрыALTER DATABASEне поддерживаются.SQL Server метаданные и данные конфигурации групп доступности Always On в WSFC не затрагиваются отключением групп доступности.
Если вы окончательно отключите группы доступности на каждом экземпляре сервера, на котором размещена реплика доступности для одной или нескольких групп доступности, выполните следующие действия.
Если вы не удалили локальные реплики доступности перед отключением групп доступности, удалите каждую группу доступности, в которой экземпляр сервера размещает реплику доступности. Сведения об удалении группы доступности см. в разделе Remove a Availability Group (SQL Server).
Чтобы удалить метаданные, удалите (удалите) каждую затронутую группу доступности на экземпляре сервера, который является частью исходного WSFC.
Все основные базы данных остаются доступными для всех подключений, однако синхронизация данных между основными и вторичными базами данных прекращается.
Вторичные базы данных переводятся в состояние RESTORING. Их можно удалить или восстановить с помощью
RESTORE WITH RECOVERY. Однако восстановленные базы данных больше не будут участвовать в синхронизации данных группы доступности.
Когда командлет перезапускает службу SQL Server?
На запущенном сервере, использование Enable-SqlAlwaysOn или Disable-SqlAlwaysOn для изменения параметра текущей группы доступности может привести к перезапуску службы SQL Server. Поведение перезапуска зависит от следующих условий:
-NoServiceRestart указанный параметр |
-Force указанный параметр |
SQL Server служба перезапущена |
|---|---|---|
| Нет | Нет | По умолчанию. См. раздел "Если указаны оба параметра". |
| Нет | Да | Служба перезапускается. |
| Да | Нет | Служба не перезапускается. |
| Да | Да | Служба не перезапускается. |
Если указаны оба параметра
При указании обоих параметров -NoServiceRestart и -Force командлет запрашивает подтверждение (значение по умолчанию — Y):
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
Если указать N или S, служба не перезапускается.