Использование политик AlwaysOn для определения работоспособности группы доступности (SQL Server)Use Always On Policies to View the Health of an Availability Group (SQL Server)

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server нетБаза данных SQL AzureнетХранилище данных SQL AzureнетParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

В этом разделе описано, как определить состояние работоспособности группы доступности AlwaysOn с помощью политики AlwaysOn в среде SQL Server Management StudioSQL Server Management Studio или с помощью PowerShell в SQL Server 2017SQL Server 2017.This topic describes how to determine the operational health of an Always On availability group by using an Always On policy in SQL Server Management StudioSQL Server Management Studio or PowerShell in SQL Server 2017SQL Server 2017. Сведения об управлении на основе политики AlwaysOn см. в разделе Политики AlwaysOn на случай проблем в работе с группами доступности AlwaysOn (SQL Server).For information about Always On Policy Based Management, see Always On Policies for Operational Issues with Always On Availability Groups (SQL Server).

Важно!

При работе с политиками AlwaysOn имена категорий используются в качестве идентификаторов.For Always On policies, the category names are used as IDs. При изменении имени категории AlwaysOn ее функция оценки работоспособности будет нарушена.Changing the name of an Always On category would break its health-evaluation functionality. Поэтому имена категорий AlwaysOn изменять не следует никогда.Therefore, the names of Always On category should never be modified.

PermissionsPermissions

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

Использование панели мониторинга AlwaysOnUsing the Always On Dashboard

Открытие панели мониторинга AlwaysOnTo open the Always On Dashboard

  1. В обозревателе объектов подключитесь к экземпляру сервера, на котором размещена одна из реплик доступности.In Object Explorer, connect to the server instance that hosts one of the availability replicas. Чтобы просмотреть сведения обо всех репликах доступности в группе доступности, используйте экземпляр сервера, на котором размещена первичная реплика.To view information about all of the availability replicas in an availability group, use to the server instance that hosts the primary replica.

  2. Щелкните имя сервера, чтобы развернуть дерево сервера.Click the server name to expand the server tree.

  3. Разверните узел Высокий уровень доступности AlwaysOn .Expand the Always On High Availability node.

    Щелкните правой кнопкой мыши узел Группы доступности или разверните этот узел и щелкните правой кнопкой мыши определенную группу доступности.Either right-click the Availability Groups node or expand this node and right-click a specific availability group.

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

Дополнительные сведения об использовании панели мониторинга AlwaysOn см. в разделе Использование панели мониторинга AlwaysOn (среда SQL Server Management Studio).For information about how to use the Always On Dashboard, see Use the Always On Dashboard (SQL Server Management Studio).

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

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

  1. Перейдите в каталог (cd) экземпляра сервера, в котором размещена одна из реплик доступности.Set default (cd) to a server instance that hosts one of the availability replicas. Чтобы просмотреть сведения обо всех репликах доступности в группе доступности, используйте экземпляр сервера, на котором размещена первичная реплика.To view information about all of the availability replicas in an availability group, use to the server instance that hosts the primary replica.

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

    Test-SqlAvailabilityGroupTest-SqlAvailabilityGroup
    Оценивает работоспособность группы доступности при помощи оценки состояния политик управления SQL Server.Assesses the health of an availability group by evaluating SQL Server policy based management (PBM) policies. Для выполнения этого командлета необходимо иметь разрешения CONNECT, VIEW SERVER STATE и VIEW ANY DEFINITION.You must have CONNECT, VIEW SERVER STATE, and VIEW ANY DEFINITION permissions to execute this cmdlet.

    Например, следующая команда показывает все группы доступности с состоянием работоспособности «Ошибка» в экземпляре сервера Computer\Instance.For example, the following command shows all availability groups with a health state of "Error" on the server instance Computer\Instance.

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

    Test-SqlAvailabilityReplicaTest-SqlAvailabilityReplica
    Оценивает работоспособность реплик доступности при помощи оценки состояния политик управления SQL Server.Assesses the health of availability replicas by evaluating SQL Server policy based management (PBM) policies. Для выполнения этого командлета необходимо иметь разрешения CONNECT, VIEW SERVER STATE и VIEW ANY DEFINITION.You must have CONNECT, VIEW SERVER STATE, and VIEW ANY DEFINITION permissions to execute this cmdlet.

    Например, следующая команда оценивает работоспособность реплики доступности с именем MyReplica в группе доступности MyAg и выводит краткую сводку.For example, the following command evaluates the health of the availability replica named MyReplica in the availability group MyAg and outputs a brief summary.

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

    Test-SqlDatabaseReplicaStateTest-SqlDatabaseReplicaState
    Оценивает работоспособность базы данных доступности на всех присоединенных репликах доступности при помощи оценки состояния политик управления SQL Server.Assesses the health of an availability database on all joined availability replicas by evaluating SQL Server policy based management (PBM) policies.

    Например, следующая команда оценивает работоспособность всех баз данных доступности в группе доступности MyAg и выводит краткую сводку по каждой базе данных.For example, the following command evaluates the health of all availability databases in the availability group MyAg and outputs a brief summary for each database.

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

    Эти командлеты принимают следующие параметры.These cmdlets accept the following options:

    ПараметрOption ОписаниеDescription
    AllowUserPoliciesAllowUserPolicies Выполняет пользовательские политики из категорий политик AlwaysOn.Runs user policies found in the Always On policy categories.
    InputObjectInputObject Коллекция объектов, представляющих состояния групп доступности, реплик доступности или базы данных доступности (в зависимости от того, какой используется командлет).A collection of objects that, represent availability groups, availability replicas, or availability database states (depending on which cmdlet you are using). Этот командлет вычисляет исправность указанных объектов.The cmdlet will compute the health of the specified objects.
    NoRefreshNoRefresh Если задан этот параметр, командлет не обновляет объекты, указанные в параметре -Path или -InputObject , вручную.When this parameter is set, the cmdlet will not manually refresh the objects specified by the -Path or -InputObject parameter.
    ПутьPath Путь к группе доступности, одной или нескольким репликам доступности или состоянию кластера реплики базы данных доступности (в зависимости от того, какой используется командлет).The path to the availability group, one or more availability replicas, or database replica cluster state of the availability database (depending on which cmdlet you are using). Этот параметр является необязательным.This is an optional parameter. Если этот параметр не указан, его значение по умолчанию соответствует текущему рабочему расположению.If not specified, the value of this parameter defaults to the current working location.
    ShowPolicyDetailsShowPolicyDetails Показывает результат оценки каждой политики, выполненной этим командлетом.Shows the result of each policy evaluation performed by this cmdlet. В результате работы командлета формируется по одному объекту для оценки каждой политики. Каждый такой объект имеет поле с описанием результатов оценки (было установлено соответствие политике или нет, имя и категория политики и так далее).The cmdlet outputs one object per policy evaluation, and this object has fields describing the results of evaluation (whether the policy passed or not, the policy name and category, and so forth).

    Например, в приведенной ниже команде Test-SqlAvailabilityGroup задается параметр -ShowPolicyDetails , чтобы показать результат вычисления, выполненного этим командлетом для каждой политики управления на основе политик в группе доступности с именем MyAg.For example, the following Test-SqlAvailabilityGroup command specifies the -ShowPolicyDetails parameter to show the result of each policy evaluation performed by this cmdlet for each policy-based management (PBM) policy that was executed on the availability group named MyAg.

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

    Примечание

    Чтобы просмотреть синтаксис командлета, воспользуйтесь командлетом Get-Help в среде PowerShell SQL ServerSQL Server .To view the syntax of a cmdlet, use the Get-Help cmdlet in the SQL ServerSQL Server PowerShell environment. Дополнительные сведения см. в разделе Get Help SQL Server PowerShell.For more information, see Get Help SQL Server PowerShell.

Настройка и использование поставщика SQL Server PowerShellTo set up and use the SQL Server PowerShell provider

См. такжеRelated Content

Блоги группы разработчиков SQL Server AlwaysOn. Наблюдение за работоспособностью AlwaysOn с помощью PowerShell.SQL Server Always On Team Blogs-Monitoring Always On Health with PowerShell:

См. также:See Also

Обзор групп доступности AlwaysOn (SQL Server) Overview of Always On Availability Groups (SQL Server)
Администрирование группы доступности (SQL Server) Administration of an Availability Group (SQL Server)
Отслеживание групп доступности (SQL Server) Monitoring of Availability Groups (SQL Server)
Политики AlwaysOn на случай проблем в работе с группами доступности AlwaysOn (SQL Server)Always On Policies for Operational Issues with Always On Availability Groups (SQL Server)