Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения:SQL Server
Прежде чем создать и настроить группу доступности AlwaysOn, необходимо включить функцию групп доступности AlwaysOn на каждом экземпляре 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, поддерживающий группы доступности AlwaysOn. Дополнительные сведения см. в выпусках и поддерживаемых функциях SQL Server 2025.
Включите группы доступности только на одном экземпляре сервера одновременно. После включения групп доступности дождитесь перезапуска службы SQL Server, прежде чем перейти к другому экземпляру сервера.
Дополнительные сведения см. в статье Предварительные требования, ограничения и рекомендации для групп доступности Always On (SQL Server).
Разрешения
При включении групп доступности в экземпляре SQL Server экземпляр сервера имеет полный контроль над кластером WSFC.
Необходимо быть членом группы администраторов на локальном компьютере и иметь полный контроль над кластером WSFC. Если включить группы доступности с помощью PowerShell, откройте окно командной строки с помощью параметра "Запуск от имени администратора ".
Вам нужны разрешения Active Directory Create Objects and Manage Objects .
Определите, включена ли функция
С помощью SQL Server Management Studio (SSMS), Transact-SQL или PowerShell можно проверить, включена ли функция групп доступности.
Используйте SQL Server Management Studio
В sql Server Management Studio (SSMS) в обозревателе объектов щелкните правой кнопкой мыши экземпляр сервера и выберите свойства.
В диалоговом окне "Свойства сервера" выберите страницу "Общие ". Свойство HADR включен имеет одно из следующих значений:
- True, если включены группы доступности
- false, если группы доступности отключены.
Использование Transact-SQL
Используйте следующую инструкцию SERVERPROPERTY :
SELECT SERVERPROPERTY('IsHadrEnabled');
Параметр свойства IsHadrEnabled сервера указывает, включен ли экземпляр SQL Server для групп доступности следующим образом:
— это , если группы доступности включены. -
IsHadrEnabledявляется0, если группы доступности отключены.
Примечание.
Дополнительные сведения о свойстве сервера см. в IsHadrEnabled разделе SERVERPROPERTY.
Использование PowerShell
Измените каталог (
cd) на экземпляр сервера, в котором необходимо определить, включены ли группы доступности AlwaysOn.Введите следующую команду PowerShell
Get-Itemв командной строкеSQLSERVER:\SQL\NODE1\DEFAULT:Get-Item . | Select-Object IsHadrEnabledПримечание.
Чтобы просмотреть синтаксис командлета, используйте командлет
Get-Helpв среде SQL Server PowerShell. Дополнительные сведения см. в разделе Get Help SQL Server PowerShell.
Сведения о настройке и использовании поставщика SQL Server PowerShell см. в статье о поставщике SQL Server PowerShell.
Включение функции
Вы можете включить функцию групп доступности с помощью SQL Server Management Studio (SSMS) или PowerShell.
Включение с помощью SQL Server Management Studio
Подключитесь к узлу отказоустойчивого кластера Windows Server (WSFC), на котором размещен экземпляр SQL Server, где требуется включить группы доступности.
В меню "Пуск " наведите указатель на все программы, наведите указатель на Microsoft SQL Server, наведите указатель на средства настройки и выберите диспетчер конфигурации SQL Server.
В диспетчере настройки SQL Server выберите службы SQL Server, щелкните правой кнопкой мыши по SQL Server (<имя экземпляра>). Имя<экземпляра> — это имя локального экземпляра сервера, для которого вы хотите активировать группы доступности. Выберите Свойства.
Перейдите на вкладку Высокий уровень доступности AlwaysOn.
Убедитесь, что поле имени отказоустойчивого кластера Windows содержит имя локального отказоустойчивого кластера. Если это поле пусто, этот экземпляр сервера в настоящее время не поддерживает группы доступности AlwaysOn. Локальный компьютер не является узлом кластера, кластер WSFC завершает работу или этот выпуск SQL Server не поддерживает группы доступности AlwaysOn.
Установите флажок "Включить группы доступности AlwaysOn " и нажмите кнопку "ОК".
диспетчер конфигурации SQL Server сохраняет изменения. Затем необходимо вручную перезапустить службу SQL Server. Этот шаг позволяет выбрать время перезапуска, которое лучше всего соответствует вашим бизнес-требованиям. При перезапуске службы SQL Server группы доступности включены, а
IsHadrEnabledдля свойства сервера задано1значение .
Включение с помощью PowerShell
Измените каталог (
cd) на экземпляр сервера, в котором требуется включить группы доступности.Используйте командлет Enable-SqlAlwaysOn , чтобы включить группы доступности.
Чтобы просмотреть синтаксис командлета, используйте командлет
Get-Helpв среде SQL Server PowerShell. Дополнительные сведения см. в разделе Get Help SQL Server PowerShell.Примечание.
Для получения сведений о том, как управлять тем, выполняет ли командлет
Enable-SqlAlwaysOnперезапуск службы SQL Server, см. раздел "Когда командлет перезапустит службу SQL Server?" далее в этой статье.
Сведения о настройке и использовании поставщика SQL Server PowerShell см. в статье о поставщике SQL Server PowerShell.
Пример: Enable-SqlAlwaysOn
Следующая команда PowerShell включает группы доступности AlwaysOn в экземпляре SQL Server (<computer>\<Instance>).
Enable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance
Отключение функции
Используйте следующие разделы, чтобы отключить функцию групп доступности с помощью ДИСПЕТЧЕРа конфигурации SQL Server или PowerShell. После завершения операции отключения можно выполнить все необходимые задачи.
Внимание
Отключите функцию групп доступности только на одном экземпляре сервера одновременно. После отключения групп доступности AlwaysOn дождитесь перезапуска службы SQL Server, прежде чем перейти к другому экземпляру сервера.
Рекомендации
Прежде чем отключить функцию групп доступности на экземпляре сервера, выполните следующие действия.
Если экземпляр сервера в настоящее время размещает первичную реплику группы доступности, которую вы хотите сохранить, вручную переключите эту группу доступности на синхронизированную вторичную реплику, если это осуществимо. Дополнительные сведения см. в статье Выполнение планового ручного переключения на резервный сервер для группы доступности Always On (SQL Server).
Удалите все локальные вторичные реплики. Дополнительные сведения см. в статье Удаление вторичной реплики из группы доступности (SQL Server).
Отключение с помощью диспетчера конфигурации SQL Server
Подключитесь к узлу отказоустойчивого кластера Windows Server (WSFC), на котором размещен экземпляр SQL Server, в котором требуется отключить группы доступности.
В меню "Пуск " наведите указатель на все программы, наведите указатель на Microsoft SQL Server, наведите указатель на средства настройки и выберите диспетчер конфигурации SQL Server.
В диспетчере настройки SQL Server выберите службы SQL Server, щелкните правой кнопкой мыши по SQL Server (<имя экземпляра>). Имя<экземпляра — это имя > локального экземпляра сервера, для которого требуется отключить группы доступности. Выберите Свойства.
На вкладке "Высокий уровень доступности AlwaysOn" снимите флажок "Включить группы доступности AlwaysOn " и нажмите кнопку "ОК".
Диспетчер конфигурации SQL Server сохранит изменения и перезапустит службу SQL Server. При перезапуске службы SQL Server группы доступности отключены, а для свойства сервера IsHadrEnabled задано
0значение , чтобы указать, что эта функция отключена.Ознакомьтесь со сведениями в разделе "Дальнейшие действия" далее в этой статье.
Отключение с помощью PowerShell
Измените каталог (
cd) на в данный момент включенный экземпляр сервера, где требуется отключить группы доступности.Используйте командлет
Disable-SqlAlwaysOnдля отключения групп доступности.Например, следующая команда отключает группы доступности в экземпляре 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 см. в статье о поставщике SQL Server PowerShell.
Дальнейшие действия после отключения групп доступности
После отключения групп доступности AlwaysOn перезапустите экземпляр SQL Server. Диспетчер конфигурации SQL Server автоматически перезапускает экземпляр сервера. Однако при использовании командлета Disable-SqlAlwaysOn необходимо перезапустить экземпляр сервера вручную. Дополнительные сведения см. в статье sqlservr Application.
На перезапущенном экземпляре сервера происходит следующее:
Базы данных доступности не запускают при запуске SQL Server, что делает их недоступными.
Единственным поддерживаемым оператором группы доступности Transact-SQL является DROP AVAILABILITY GROUP.
CREATE AVAILABILITY GROUP,ALTER AVAILABILITY GROUPиSET HADRпараметрыALTER DATABASEне поддерживаются.Метаданные SQL Server и данные конфигурации групп доступности AlwaysOn в WSFC не влияют на отключение групп доступности.
Если вы окончательно отключите группы доступности на каждом экземпляре сервера, на котором размещена реплика доступности для одной или нескольких групп доступности, выполните следующие действия.
Если вы не удалили локальные реплики доступности перед отключением групп доступности, удалите каждую группу доступности, в которой экземпляр сервера размещает реплику доступности. Сведения об удалении группы доступности см. в статье Удаление группы доступности (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, служба не перезапускается.