Verwenden von AlwaysOn-Richtlinien zum Anzeigen des Zustands einer Verfügbarkeitsgruppe (SQL Server)Use Always On Policies to View the Health of an Availability Group (SQL Server)

Dieses Thema gilt für: JaSQL ServerkeineAzure SQL-DatenbankkeineAzure SQL Data Warehouse keine Parallel DatawarehouseTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

In diesem Thema wird beschrieben, wie der Betriebsstatus einer AlwaysOn-Verfügbarkeitsgruppe in SQL Server Management StudioSQL Server Management Studio mithilfe einer AlwaysOn-Richtlinie in SQL Server 2017SQL Server 2017bzw. mit PowerShell geändert wird.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. Informationen zur Verwaltung auf Basis von AlwaysOn-Richtlinien finden Sie unter AlwaysOn-Richtlinien für Betriebsprobleme mit AlwaysOn-Verfügbarkeitsgruppen (SQL Server)bzw. mit PowerShell geändert wird.For information about Always On Policy Based Management, see Always On Policies for Operational Issues with Always On Availability Groups (SQL Server).

Wichtig

Für AlwaysOn-Richtlinien werden die Kategorienamen als IDs verwendet.For Always On policies, the category names are used as IDs. Durch die Änderung des Namens einer AlwaysOn-Kategorie wird deren Funktionalität zur Integritätsüberprüfung unterbrochen.Changing the name of an Always On category would break its health-evaluation functionality. Daher sollte der Name einer AlwaysOn-Kategorie nie geändert werden.Therefore, the names of Always On category should never be modified.

Vorbereitungen Before You Begin

Sicherheit Security

Berechtigungen Permissions

Erfordert CONNECT-, VIEW SERVER STATE- und VIEW ANY DEFINITION-Berechtigungen.Requires CONNECT, VIEW SERVER STATE, and VIEW ANY DEFINITION permissions.

Verwenden des AlwaysOn-Dashboards Using the Always On Dashboard

So öffnen Sie das AlwaysOn-DashboardTo open the Always On Dashboard

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit der Serverinstanz her, die eines der Verfügbarkeitsreplikate hostet.In Object Explorer, connect to the server instance that hosts one of the availability replicas. Verwenden Sie zum Anzeigen von Informationen zu allen Verfügbarkeitsreplikaten in einer Verfügbarkeitsgruppe die Serverinstanz, die das primäre Replikat hostet.To view information about all of the availability replicas in an availability group, use to the server instance that hosts the primary replica.

  2. Klicken Sie auf den Servernamen, um die Serverstruktur zu erweitern.Click the server name to expand the server tree.

  3. Erweitern Sie den Knoten Hohe Verfügbarkeit mit AlwaysOn .Expand the Always On High Availability node.

    Klicken Sie entweder mit der rechten Maustaste auf den Knoten Verfügbarkeitsgruppen , oder erweitern Sie diesen Knoten, und klicken Sie mit der rechten Maustaste auf eine bestimmte Verfügbarkeitsgruppe.Either right-click the Availability Groups node or expand this node and right-click a specific availability group.

  4. Wählen Sie den Befehl Dashboard anzeigen aus.Select the Show Dashboard command.

    Informationen zur Verwendung des Always On-Dashboards finden Sie unter Use the Always On Dashboard (SQL Server Management Studio) (Verwenden des Always On-Dashboards (SQL Server Management Studio)).For information about how to use the Always On Dashboard, see Use the Always On Dashboard (SQL Server Management Studio).

PowerShell Using 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. Legen Sie mitcdeine Serverinstanz als Standard fest, auf der eines der Verfügbarkeitsreplikate gehostet wird.Set default (cd) to a server instance that hosts one of the availability replicas. Verwenden Sie zum Anzeigen von Informationen zu allen Verfügbarkeitsreplikaten in einer Verfügbarkeitsgruppe die Serverinstanz, die das primäre Replikat hostet.To view information about all of the availability replicas in an availability group, use to the server instance that hosts the primary replica.

  2. Verwenden Sie die folgenden Cmdlets:Use the following cmdlets:

    Test-SqlAvailabilityGroupTest-SqlAvailabilityGroup
    Bewertet die Integrität einer Verfügbarkeitsgruppe durch die Auswertung der Richtlinien der richtlinienbasierten SQL Server-Verwaltung.Assesses the health of an availability group by evaluating SQL Server policy based management (PBM) policies. Sie müssen über CONNECT-, VIEW SERVER STATE- und VIEW ANY DEFINITION-Berechtigungen verfügen, um dieses Cmdlet auszuführen.You must have CONNECT, VIEW SERVER STATE, and VIEW ANY DEFINITION permissions to execute this cmdlet.

    Beispielsweise werden durch den folgenden Befehl alle Verfügbarkeitsgruppen im „Error“-Zustand auf der Serverinstanz angezeigt 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
    Bewertet die Integrität von Verfügbarkeitsreplikaten durch die Auswertung der Richtlinien der richtlinienbasierten SQL Server-Verwaltung.Assesses the health of availability replicas by evaluating SQL Server policy based management (PBM) policies. Sie müssen über CONNECT-, VIEW SERVER STATE- und VIEW ANY DEFINITION-Berechtigungen verfügen, um dieses Cmdlet auszuführen.You must have CONNECT, VIEW SERVER STATE, and VIEW ANY DEFINITION permissions to execute this cmdlet.

    Durch den folgenden Befehl werden beispielsweise die Integrität des Verfügbarkeitsreplikats MyReplica in der Verfügbarkeitsgruppe MyAg ausgewertet und eine kurze Zusammenfassung ausgegeben.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
    Bewertet die Integrität einer Verfügbarkeitsdatenbank für alle hinzugefügten Verfügbarkeitsreplikate durch die Auswertung der Richtlinien der richtlinienbasierten SQL Server-Verwaltung.Assesses the health of an availability database on all joined availability replicas by evaluating SQL Server policy based management (PBM) policies.

    Durch den folgenden Befehl werden beispielsweise die Integrität aller Verfügbarkeitsdatenbanken in der Verfügbarkeitsgruppe MyAg ausgewertet und eine kurze Zusammenfassung für jede Datenbank ausgegeben.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  
    

    Diese Cmdlets akzeptieren die folgenden Optionen:These cmdlets accept the following options:

    OptionOption BeschreibungDescription
    AllowUserPoliciesAllowUserPolicies Führt in den AlwaysOn-Richtlinienkategorien gefundene Benutzerrichtlinien aus.Runs user policies found in the Always On policy categories.
    InputObjectInputObject Eine Auflistung von Objekten, die abhängig vom verwendeten Cmdlet den Status von Verfügbarkeitsgruppen, Verfügbarkeitsreplikaten oder Verfügbarkeitsdatenbanken darstellen.A collection of objects that, represent availability groups, availability replicas, or availability database states (depending on which cmdlet you are using). Das Cmdlet berechnet die Integrität der angegebenen Objekte.The cmdlet will compute the health of the specified objects.
    NoRefreshNoRefresh Wenn dieser Parameter festgelegt wird, werden die vom -Path - oder -InputObject -Parameter angegebenen Objekte nicht manuell vom Cmdlet aktualisiert.When this parameter is set, the cmdlet will not manually refresh the objects specified by the -Path or -InputObject parameter.
    PfadPath Abhängig vom verwendeten Cmdlet der Pfad zur Verfügbarkeitsgruppe, zu den Verfügbarkeitsreplikaten oder zum Status des Datenbankreplikatclusters.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). Dies ist ein optionaler Parameter.This is an optional parameter. Wird dieser Parameter nicht angegeben, wird der Wert standardmäßig auf den aktuellen Arbeitsstandort festgelegt.If not specified, the value of this parameter defaults to the current working location.
    ShowPolicyDetailsShowPolicyDetails Zeigt das Ergebnis aller von diesem Cmdlet ausgeführten Richtlinienauswertungen an.Shows the result of each policy evaluation performed by this cmdlet. Das Cmdlet gibt ein Objekt pro Richtlinienauswertung aus. Dieses Objekt verfügt über Felder, in denen die Ergebnisse der Auswertung beschrieben werden, z. B. ob die Richtlinie eingehalten wurde sowie den Richtliniennamen und die Kategorie.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).

    Beispielsweise gibt der folgende Test-SqlAvailabilityGroup -Befehl den -ShowPolicyDetails -Parameter an, um das Ergebnis aller von diesem Cmdlet ausgeführten Richtlinienauswertungen anzuzeigen, und zwar für jede einzelne Richtlinie der richtlinienbasierten Verwaltung (policy-based management (PBM)) die auf einer Verfügbarkeitsgruppe namens MyAgausgeführt wurde.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  
    

    Hinweis

    Um die Syntax eines Cmdlets anzuzeigen, verwenden Sie das Get-Help -Cmdlet in der SQL ServerSQL Server PowerShell-Umgebung.To view the syntax of a cmdlet, use the Get-Help cmdlet in the SQL ServerSQL Server PowerShell environment. Weitere Informationen finden Sie unter Get Help SQL Server PowerShell.For more information, see Get Help SQL Server PowerShell.

    Einrichten und Verwenden des SQL Server PowerShell-AnbietersTo set up and use the SQL Server PowerShell provider

SQL Server AlwaysOn-Teamblogs – Überwachen des AlwaysOn-Zustands mit PowerShell:SQL Server Always On Team Blogs—Monitoring Always On Health with PowerShell:

Siehe auchSee Also

Übersicht über AlwaysOn-Verfügbarkeitsgruppen (SQL Server) Overview of Always On Availability Groups (SQL Server)
Verwaltung einer Verfügbarkeitsgruppe (SQL Server) Administration of an Availability Group (SQL Server)
Überwachen von Verfügbarkeitsgruppen (SQL Server) Monitoring of Availability Groups (SQL Server)
Always On-Richtlinien für Betriebsprobleme mit Always On-Verfügbarkeitsgruppen (SQL Server)Always On Policies for Operational Issues with Always On Availability Groups (SQL Server)