Verwalten von Servern mit der richtlinienbasierten VerwaltungAdminister Servers by Using Policy-Based Management

GILT FÜR: jaSQL Server neinAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Die richtlinienbasierte Verwaltung ist ein richtlinienbasiertes System zum Verwalten einer oder mehrerer Instanzen von SQL ServerSQL Server.Policy-Based Management is a policy based system for managing one or more instances of SQL ServerSQL Server. Verwenden Sie diese, um Bedingungen zu erstellen, die Bedingungsausdrücke enthalten.Use is to create conditions that contain condition expressions. Erstellen Sie dann Richtlinien, die die Bedingungen für Datenbankzielobjekte übernehmen.Then, create policies that apply the conditions to database target objects.

Beispielsweise könnte es sein, dass Sie als Datenbankadministrator sicherstellen möchten, dass für bestimmte Server Datenbank-E-Mail nicht aktiviert ist. Also erstellen Sie eine Bedingung und eine Richtlinie, die diese Serveroption festgelegt.For example, as the database administrator, you may want to ensure that certain servers do not have Database Mail enabled, so you create a condition and a policy that sets that server option.

WICHTIG!IMPORTANT!! Richtlinien können die Funktionsweise einiger Funktionen beeinflussen.Policies can affect how some features work. Beispielsweise verwenden Change Data Capture und die Transaktionsreplikation beide die systranschemas-Tabelle, die keinen Index hat.For example, change data capture and transactional replication both use the systranschemas table, which does not have an index. Wenn Sie eine Richtlinie aktivieren, die festlegt, dass alle Tabellen einen Index aufweisen müssen, bewirkt die Erzwingung der Einhaltung der Richtlinie das Fehlschlagen dieser Funktionen.If you enable a policy that all tables must have an index, enforcing compliance of the policy will cause these features to fail.

Verwenden Sie SQL Server Management Studio, um Richtlinien für folgenden Aufgaben zu erstellen und zu verwalten:Use SQL Server management Studio to create and manage policies, to:

  1. Wählen Sie ein Facet der richtlinienbasierten Verwaltung aus, das die zu konfigurierenden Eigenschaften enthält.Select a Policy-Based Management facet that contains the properties to be configured.

  2. Definieren Sie eine Bedingung, die den Status eines Verwaltungsfacets angibt.Define a condition that specifies the state of a management facet.

  3. Definieren Sie eine Richtlinie, die die Bedingung, zusätzliche Bedingungen zum Filtern der Zielsätze und den Auswertungsmodus enthält.Define a policy that contains the condition, additional conditions that filter the target sets, and the evaluation mode.

  4. Überprüfen Sie, ob eine Instanz von SQL ServerSQL Server in Übereinstimmung mit der Richtlinie ist.Check whether an instance of SQL ServerSQL Server is in compliance with the policy.

    Für Fehler bei Richtlinien wird im Objekt-Explorer eine kritische Zustandswarnung in Form eines roten Symbols neben dem Ziel und den übergeordneten Knoten in der Strukturansicht des Objekt-Explorers angezeigt.For failed policies, Object Explorer indicates a critical health warning as a red icon next to the target and the nodes that are higher in the Object Explorer tree.

HINWEIS: Wenn das System den Objektsatz für eine Richtlinie berechnet, werden die Systemobjekte standardmäßig ausgeschlossen.NOTE: When the system computes the object set for a policy, by default the system objects are excluded. Falls der Objektsatz der Richtlinie z. B. auf alle Tabellen verweist, gilt die Richtlinie nicht für Systemtabellen.For example, if the object set of the policy refers to all tables, the policy will not apply to system tables. Wenn Benutzer eine Richtlinie in Verbindung mit Systemobjekten auswerten möchten, können sie dem Objektsatz Systemobjekte explizit hinzufügen.If users want to evaluate a policy against system objects, they can explicitly add system objects to the object set. Obwohl alle Richtlinien für den Auswertungsmodus Zeitplan prüfen unterstützt werden, werden aus Leistungsgründen jedoch nicht alle Richtlinien mit beliebigen Objektsätzen für den Auswertungsmodus Änderungen prüfen unterstützt.However, though all policies are supported for check on schedule evaluation mode, for performance reason, not all policies with arbitrary object sets are supported for check on change evaluation mode. Weitere Informationen finden Sie unter https://blogs.msdn.com/b/sqlpbm/archive/2009/04/13/policy-evaluation-modes.aspx.For more information, see https://blogs.msdn.com/b/sqlpbm/archive/2009/04/13/policy-evaluation-modes.aspx

Drei Komponenten für richtlinienbasierte VerwaltungThree Policy-Based Management components

Die richtlinienbasierte Verwaltung besteht aus drei Komponenten:Policy-Based Management has three components:

  • Richtlinienverwaltung.Policy management. Richtlinienadministratoren erstellen Richtlinien.Policy administrators create policies.

  • Explizite Verwaltung.Explicit administration. Administratoren wählen ein oder mehrere verwaltete Ziele aus. Für diese Ziele überprüfen sie explizit, ob sie eine bestimmte Richtlinie einhalten oder veranlassen explizit, dass die Ziele eine Richtlinie einhalten.Administrators select one or more managed targets and explicitly check that the targets comply with a specific policy, or explicitly make the targets comply with a policy.

  • Auswertungsmodi.Evaluation modes. Es gibt vier Auswertungsmodi, von denen drei automatisiert werden können:There are four evaluation modes; three can be automated:

    • Bedarfsgesteuert.On demand. Dieser Modus wertet die Richtlinie aus, wenn sie vom Benutzer direkt angegeben wird.This mode evaluates the policy when directly specified by the user.

    • Bei Änderung - Verhindern.On change: prevent. Dieser automatisierte Modus verwendet DDL-Trigger, um Richtlinienverstöße zu verhindern.This automated mode uses DDL triggers to prevent policy violations.

      WICHTIG!IMPORTANT! Wenn die Serverkonfigurationsoption für geschachtelte Trigger deaktiviert ist, funktioniert Bei Änderung: Verhindern nicht ordnungsgemäß.If the nested triggers server configuration option is disabled, On change: prevent will not work correctly. Die richtlinienbasierte Verwaltung basiert auf DDL-Triggern, um DDL-Vorgänge zu erkennen und dafür ein Rollback auszuführen, falls diese Vorgänge nicht mit Richtlinien übereinstimmen, die diesen Auswertungsmodus verwenden.Policy-Based Management relies on DDL triggers to detect and roll back DDL operations that do not comply with policies that use this evaluation mode. Das Entfernen der DDL-Trigger für die richtlinienbasierte Verwaltung oder das Deaktivieren geschachtelter Trigger bewirkt das Fehlschlagen oder ein unerwartetes Ausführungsverhalten dieses Auswertungsmodus.Removing the Policy-Based Management DDL triggers or disabling nest triggers, will cause this evaluation mode to fail or perform unexpectedly.

    • Bei Änderung: Nur protokollieren.On change: log only. Dieser automatisierte Modus verwendet die Ereignisbenachrichtigung, um eine Richtlinie auszuwerten, wenn eine relevante Änderung vorgenommen wurde.This automated mode uses event notification to evaluate a policy when a relevant change is made.

    • Nach Zeitplan.On schedule. Dieser automatisierte Modus verwendet einen SQL ServerSQL Server -Agentauftrag, um eine Richtlinie in regelmäßigen Abständen auszuwerten.This automated mode uses a SQL ServerSQL Server Agent job to periodically evaluate a policy.

      Wenn keine automatisierten Richtlinien aktiviert sind, hat die richtlinienbasierte Verwaltung keine Auswirkungen auf die Systemleistung.When automated policies are not enabled, Policy-Based Management will not affect system performance.

BegriffeTerms

Verwaltetes Ziel der richtlinienbasierten Verwaltung: Entitäten, die durch die richtlinienbasierte Verwaltung verwaltet werden, beispielsweise eine SQL Server-Datenbank-EngineSQL Server Database Engine-Instanz, eine Datenbank, eine Tabelle oder ein IndexPolicy-Based Management managed target Entities that are managed by Policy-Based Management, such as an instance of the SQL Server-Datenbank-EngineSQL Server Database Engine, a database, a table, or an index. Alle Ziele in einer Serverinstanz bilden eine Zielhierarchie.All targets in a server instance form a target hierarchy. Ein Zielsatz ist der Satz der Ziele, der sich aus der Anwendung eines Satzes von Zielfiltern auf die Zielhierarchie ergibt, z. B. alle Tabellen in der Datenbank, die im Besitz des HumanResources-Schemas sind.A target set is the set of targets that results from applying a set of target filters to the target hierarchy, for example, all the tables in the database owned by the HumanResources schema.

Facet der richtlinienbasierten Verwaltung: Eine Menge logischer Eigenschaften, die das Verhalten oder die Eigenschaften bestimmter Typen von verwalteten Zielen modellierenPolicy-Based Management facet A set of logical properties that model the behavior or characteristics for certain types of managed targets. Die Anzahl und die Merkmale der Eigenschaften sind in das Facet integriert und können nur durch den Ersteller des Facets hinzugefügt oder entfernt werden.The number and characteristics of the properties are built into the facet and can be added or removed by only the maker of the facet. Ein Zieltyp kann ein oder mehrere Verwaltungsfacets implementieren, und ein Verwaltungsfacet kann von einem oder mehreren Zieltypen implementiert werden.A target type can implement one or more management facets, and a management facet can be implemented by one or more target types. Bestimmte Eigenschaften eines Facets können nur für eine bestimmte Version gelten.Some properties of a facet can only apply to a specific version..

Bedingung der richtlinienbasierten VerwaltungPolicy-Based Management condition
Ein boolescher Ausdruck, der einen Satz zulässiger Zustände eines durch die richtlinienbasierte Verwaltung verwalteten Ziels für ein Verwaltungsfacet angibt.A Boolean expression that specifies a set of allowed states of a Policy-Based Management managed target with regard to a management facet. SQL ServerSQL Server , Sortierungen beizubehalten.tries to observe collations when evaluating a condition. Wenn SQL ServerSQL Server -Sortierungen den Windows-Sortierungen nicht genau entsprechen, testen Sie die Bedingung, um zu ermitteln, wie Konflikte vom Algorithmus aufgelöst werden.When SQL ServerSQL Server collations do not exactly match Windows collations, test your condition to determine how the algorithm resolves conflicts.

Richtlinie der richtlinienbasierten VerwaltungPolicy-Based Management policy
Eine Bedingung der richtlinienbasierten Verwaltung und das erwartete Verhalten, wie z. B. Auswertungsmodus, Zielfilter und Zeitplan.A Policy-Based Management condition and the expected behavior, for example, evaluation mode, target filters, and schedule. Eine Richtlinie kann nur eine einzige Bedingung enthalten.A policy can contain only one condition. Richtlinien können aktiviert oder deaktiviert sein.Policies can be enabled or disabled. Richtlinien werden in der msdb-Datenbank gespeichert.Policies are stored in the msdb database.

Kategorie der richtlinienbasierten VerwaltungPolicy-Based Management policy category
Eine benutzerdefinierte Kategorie, die das Verwalten von Richtlinien unterstützt.A user-defined category to help manage policies. Benutzer können Richtlinien in verschiedene Richtlinienkategorien klassifizieren.Users can classify policies into different policy categories. Eine Richtlinie gehört immer nur zu einer Richtlinienkategorie.A policy belongs to one and only one policy category. Richtlinienkategorien gelten für Datenbanken und Server.Policy categories apply to databases and servers. Auf der Datenbankebene gelten folgende Bedingungen:At the database level, the following conditions apply:

  • Datenbankbesitzer können einen Satz von Richtlinienkategorien für eine Datenbank abonnieren.Database owners can subscribe a database to a set of policy categories.

  • Nur Richtlinien aus Kategorien, die eine Datenbank abonniert hat, können diese Datenbank steuern.Only policies from its subscribed categories can govern a database.

  • Alle Datenbanken abonnieren implizit die Standardrichtlinienkategorie.All databases implicitly subscribe to the default policy category.

    Auf Serverebene können Richtlinienkategorien auf alle Datenbanken angewendet werden.At the server level, policy categories can be applied to all databases.

    Effektive RichtlinieEffective policy
    Die effektiven Richtlinien für ein Ziel sind die Richtlinien, die dieses Ziel steuern.The effective policies of a target are those policies that govern this target. Eine Richtlinie ist nur dann für ein Ziel effektiv, wenn alle folgenden Bedingungen erfüllt werden:A policy is effective with regard to a target only if all the following conditions are satisfied:

  • Die Richtlinie ist aktiviert.The policy is enabled.

  • Das Ziel gehört zum Zielsatz der Richtlinie.The target belongs to the target set of the policy.

  • Für das Ziel oder einen der Vorgänger des Ziels ist die Richtliniengruppe abonniert, die diese Richtlinie enthält.The target or one of the targets ancestors subscribes to the policy group that contains this policy.

Siehe auchSee also