Использование политик AlwaysOn для определения работоспособности группы доступности (SQL Server)

Область применения: SQL Server

В этом разделе описывается, как определить работоспособность группы доступности AlwaysOn с помощью политики AlwaysOn в SQL Server Management Studio или PowerShell в SQL Server. Сведения об управлении на основе политики Always On см. в статье Политики Always On на случай проблем в работе с группами доступности Always On (SQL Server).

Внимание

При работе с политиками AlwaysOn имена категорий используются в качестве идентификаторов. При изменении имени категории AlwaysOn ее функция оценки работоспособности будет нарушена. Поэтому имена категорий AlwaysOn изменять не следует никогда.

Разрешения

Требуются разрешения CONNECT, VIEW SERVER STATE и VIEW ANY DEFINITION.

Использование панели мониторинга AlwaysOn

Открытие панели мониторинга AlwaysOn

  1. В обозревателе объектов подключитесь к экземпляру сервера, на котором размещена одна из реплик доступности. Чтобы просмотреть сведения обо всех репликах доступности в группе доступности, используйте экземпляр сервера, на котором размещена первичная реплика.

  2. Щелкните имя сервера, чтобы развернуть дерево сервера.

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

    Щелкните правой кнопкой мыши узел Группы доступности или разверните этот узел и щелкните правой кнопкой мыши определенную группу доступности.

  4. Выберите команду Показать панель мониторинга .

Дополнительные сведения об использовании панели мониторинга Always On см. в статье Использование панели мониторинга Always On (среда SQL Server Management Studio).

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

Use Always On policies to view the health of an availability group

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

  2. Используйте следующие командлеты.

    Test-SqlAvailabilityGroup
    Оценивает работоспособность группы доступности при помощи оценки состояния политик управления SQL Server. Для выполнения этого командлета необходимо иметь разрешения CONNECT, VIEW SERVER STATE и VIEW ANY DEFINITION.

    Например, следующая команда показывает все группы доступности с состоянием работоспособности «Ошибка» в экземпляре сервера Computer\Instance.

    Get-ChildItem SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups `   
    | Test-SqlAvailabilityGroup | Where-Object { $_.HealthState -eq "Error" }  
    

    Test-SqlAvailabilityReplica
    Оценивает работоспособность реплик доступности при помощи оценки состояния политик управления SQL Server. Для выполнения этого командлета необходимо иметь разрешения CONNECT, VIEW SERVER STATE и VIEW ANY DEFINITION.

    Например, следующая команда оценивает работоспособность реплики доступности с именем MyReplica в группе доступности MyAg и выводит краткую сводку.

    Test-SqlAvailabilityReplica `   
    -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg\AvailabilityReplicas\MyReplica  
    

    Test-SqlDatabaseReplicaState
    Оценивает работоспособность базы данных доступности на всех присоединенных репликах доступности при помощи оценки состояния политик управления SQL Server.

    Например, следующая команда оценивает работоспособность всех баз данных доступности в группе доступности MyAg и выводит краткую сводку по каждой базе данных.

    Get-ChildItem SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg\DatabaseReplicaStates `   
     | Test-SqlDatabaseReplicaState  
    

    Эти командлеты принимают следующие параметры.

    Вариант Описание
    AllowUserPolicies Выполняет пользовательские политики из категорий политик AlwaysOn.
    InputObject Коллекция объектов, представляющих состояния групп доступности, реплик доступности или базы данных доступности (в зависимости от того, какой используется командлет). Этот командлет вычисляет исправность указанных объектов.
    NoRefresh Если задан этот параметр, командлет не обновляет объекты, указанные в параметре -Path или -InputObject , вручную.
    Путь Путь к группе доступности, одной или нескольким репликам доступности или состоянию кластера реплики базы данных доступности (в зависимости от того, какой используется командлет). Этот параметр является необязательным. Если этот параметр не указан, его значение по умолчанию соответствует текущему рабочему расположению.
    ShowPolicyDetails Показывает результат оценки каждой политики, выполненной этим командлетом. В результате работы командлета формируется по одному объекту для оценки каждой политики. Каждый такой объект имеет поле с описанием результатов оценки (было установлено соответствие политике или нет, имя и категория политики и так далее).

    Например, в приведенной ниже команде Test-SqlAvailabilityGroup задается параметр -ShowPolicyDetails , чтобы показать результат вычисления, выполненного этим командлетом для каждой политики управления на основе политик в группе доступности с именем MyAg.

    Test-SqlAvailabilityGroup `   
    -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\AgName `  
    -ShowPolicyDetails  
    
    

    Примечание.

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

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

См. также

Блоги группы разработчиков SQL Server AlwaysOn. Наблюдение за работоспособностью AlwaysOn с помощью PowerShell.

См. также

Обзор групп доступности Always On (SQL Server)
Администрирование группы доступности (SQL Server)
Мониторинг групп доступности (SQL Server)
Политики AlwaysOn для операционных проблем с группами доступности AlwaysOn (SQL Server)