Freigeben über


Überwachen von Abfragen und Verbessern der Workloadleistung mit automatischer Optimierung im Azure-Portal

Gilt für:Azure SQL-DatenbankAzure SQL Managed Instance

Azure SQL-Datenbank verwaltet Datendienste automatisch, die kontinuierlich Ihre Abfragen überwachen, und teilt Ihnen mit, wie Sie die Leistung Ihrer Workload verbessern können. Sie können Empfehlungen überprüfen und manuell anwenden oder azure SQL-Datenbank automatisch Korrekturmaßnahmen anwenden lassen. Dies wird als automatischer Optimierungsmodusbezeichnet.

Die automatische Optimierung kann auf Server- oder auf Datenbankebene über eine der folgenden Optionen aktiviert werden:

Hinweis

Für die von Azure SQL verwaltete Instanz kann die unterstützte Option FORCE_LAST_GOOD_PLAN nur über T-SQL-konfiguriert werden. Die in diesem Artikel beschriebenen Azure-Portalkonfigurationsoptionen und die optionen für die automatische Indexoptimierung gelten nicht für azure SQL Managed Instance.

Das Konfigurieren von Optionen für die automatische Optimierung über die Vorlage Azure Resource Manager (ARM) wird derzeit nicht unterstützt.

Aktivieren der automatischen Optimierung für den Server

Auf Serverebene können Sie die automatische Optimierungskonfiguration von "Azure Defaults" erben oder die Konfiguration nicht erben. Azure-Standardwerte sind FORCE_LAST_GOOD_PLAN aktiviert, CREATE_INDEX deaktiviert und DROP_INDEX deaktiviert.

Azure-Portal

Wenn Sie die automatische Optimierung für einen Server in Azure SQL-Datenbank aktivieren möchten, navigieren Sie im Azure-Portal zum entsprechenden Server, und klicken Sie im Menü auf die Option Automatische Optimierung.

Screenshot zeigt die automatische Optimierung im Azure-Portal, in dem Sie Optionen für einen Server anwenden können.

Wählen Sie die gewünschten Optionen für die automatische Optimierung und anschließend Übernehmen aus.

Die Optionen für die automatische Optimierung auf einem Server werden auf alle Datenbanken auf diesem Server angewendet. Standardmäßig erben alle Datenbanken die Konfiguration von ihrem übergeordneten Server. Dies kann jedoch außer Kraft gesetzt und einzeln für jede Datenbank angegeben werden.

REST-API

Weitere Informationen darüber, wie die automatische Optimierung mithilfe der REST-API für einen Server aktiviert werden kann, finden Sie unter Automatische Serveroptimierung.

Das Konfigurieren von Optionen für die automatische Optimierung über die Vorlage Azure Resource Manager (ARM) wird derzeit nicht unterstützt.

Aktivieren der automatischen Optimierung für eine einzelne Datenbank

Über Azure SQL-Datenbank können Sie die Konfiguration der automatischen Optimierung für einzelne Datenbanken angeben. Auf Datenbankebene kann auf Wunsch die Konfiguration der automatischen Optimierung vom übergeordneten Server geerbt („Azure-Standardwerte“) oder nicht geerbt werden. Diese Standardwerte sind wie folgt:

  • FORCE_LAST_GOOD_PLAN ist aktiviert.
  • CREATE_INDEX ist deaktiviert.
  • DROP_INDEX ist deaktiviert.

Tipp

Es empfiehlt sich im Allgemeinen, die automatische Optimierung auf Serverebene zu verwalten, damit für jede Datenbank automatisch die gleichen Konfigurationseinstellungen angewendet werden können. Konfigurieren Sie die automatische Optimierung für eine einzelne Datenbank nur dann, wenn diese Datenbank andere Einstellungen haben muss als die anderen Datenbanken, die ihre Einstellungen vom gleichen Server erben.

Azure-Portal

Wenn Sie die automatische Optimierung für ein Singleton aktivieren möchten, navigieren Sie im Azure-Portal zur entsprechenden Datenbank, und klicken Sie auf Automatische Optimierung.

Einzelne Einstellungen für die automatische Optimierung können für jede Datenbank separat konfiguriert werden. Sie können manuell eine einzelne automatische Optimierungsoption konfigurieren oder angeben, dass eine Option die Einstellungen vom Server erbt.

Screenshot zeigt die automatische Optimierung im Azure-Portal, in dem Sie Optionen für eine einzelne Datenbank anwenden können.

Nachdem Sie Ihre gewünschte Konfiguration ausgewählt haben, wählen Sie Übernehmen aus.

REST-API

Weitere Informationen darüber, wie die automatische Optimierung mithilfe der REST-API in einem Singleton aktiviert werden kann, finden Sie unter Automatische Serveroptimierung.

Das Konfigurieren von Optionen für die automatische Optimierung über die Vorlage Azure Resource Manager (ARM) wird derzeit nicht unterstützt.

T-SQL

Wenn Sie die automatische Optimierung für eine einzelne Datenbank mithilfe von T-SQL aktivieren möchten, stellen Sie eine Verbindung mit der Datenbank her, und führen Sie die folgende Abfrage aus:

ALTER DATABASE current SET AUTOMATIC_TUNING = AUTO | INHERIT | CUSTOM

Das Festlegen der automatischen Optimierung auf AUTO wendet Azure-Standardwerte an. Bei Verwendung von INHERIT wird die Konfiguration der automatischen Optimierung vom übergeordneten Server geerbt. Wenn Sie CUSTOMauswählen, müssen Sie die automatische Optimierung manuell konfigurieren.

Um einzelne Optionen für die automatische Optimierung über T-SQL zu konfigurieren, stellen Sie eine Verbindung mit der Datenbank her, und führen Sie die folgende Abfrage aus:

ALTER DATABASE CURRENT SET AUTOMATIC_TUNING (
    FORCE_LAST_GOOD_PLAN = ON,
    CREATE_INDEX = ON,
    DROP_INDEX = OFF
);

Wenn Sie die option für die individuelle Optimierung auf ON festlegen, werden alle Einstellungen, die die Datenbank geerbt hat, außer Kraft gesetzt und die Optimierungsoption aktiviert. Wenn Sie sie auf OFF festlegen, werden auch alle Einstellungen, die die Datenbank geerbt hat, außer Kraft gesetzt und die Optimierungsoption deaktiviert. Automatische Optimierungsoptionen, für die DEFAULT angegeben wird, erben die automatische Optimierungskonfiguration von den Einstellungen auf Serverebene.

Wichtig

Bei einer aktiven Georeplikation muss die automatische Optimierung nur für die primäre Datenbank konfiguriert werden. Automatisch angewendete Optimierungsaktionen, z. B. das Erstellen oder Löschen eines Indexes, werden automatisch in Geo-Secondaries repliziert. Wenn Sie versuchen, die automatische Optimierung über T-SQL für die schreibgeschützte sekundäre Option zu aktivieren, tritt ein Fehler auf, da eine andere Optimierungskonfiguration für die schreibgeschützte sekundäre Option nicht unterstützt wird.

Informationen zu den T-SQL-Optionen für die Konfiguration der automatischen Optimierung finden Sie unter ALTER DATABASE SET-Optionen.

Problembehandlung

Automatisierte Empfehlungsverwaltung ist deaktiviert

Wenn Fehlermeldungen angezeigt werden, dass die automatisierte Empfehlungsverwaltung deaktiviert wurde oder vom System deaktiviert wurde, sind die häufigsten Ursachen:

  • Abfragedatenspeicher ist nicht aktiviert oder
  • Abfragespeicher befindet sich für eine angegebene Datenbank im schreibgeschützten Modus, oder
  • Abfragespeicher wird nicht mehr ausgeführt, da kein Speicherplatz mehr zugewiesen ist.

Die folgenden Schritte können in Erwägung gezogen werden, um dieses Problem zu beheben:

  • Bereinigen Sie den Abfragespeicher, ändern Sie die Datenaufbewahrungsdauer mithilfe von T-SQL in „Auto“ oder erhöhen Sie die maximale Größe des Abfragespeichers. Weitere Informationen finden Sie unter Konfigurieren der empfohlenen Beibehaltungs- und Erfassungsrichtlinie für Abfragespeicher.

  • Verwenden Sie SQL Server Management Studio (SSMS), und führen Sie die folgenden Schritte aus:

    1. Stellen Sie eine Verbindung mit der Azure SQL-Datenbank her.
    2. Klicken Sie mit der rechten Maustaste auf die Datenbank.
    3. Wechseln Sie zu Eigenschaften und wählen Sie Abfragespeicheraus.
    4. Ändern Sie den Betriebsmodus in Lesen/Schreiben.
    5. Ändern Sie den Speichererfassungsmodus in Auto.
    6. Ändern Sie den größenbasierten Bereinigungsmodus in Auto.

Berechtigungen

Für die Azure SQL-Datenbank erfordert die Verwaltung der automatischen Optimierung im Azure-Portal oder die Verwendung von PowerShell oder REST-API die Mitgliedschaft in integrierten Azure-Rollen für rollenbasierte Zugriffssteuerung (RBAC).

Zur Verwaltung der automatischen Optimierung muss dem Benutzer mindestens die Mitgliedschaft in der Rolle SQL-Datenbankmitwirkender erteilt werden. Sie können auch Rollen mit höheren Berechtigungen verwenden, z. B. Mitwirkender von SQL Server, Mitwirkender und Besitzer.

Berechtigungen zum Verwalten der automatischen Optimierung mit T-SQL finden Sie unter Berechtigungen für ALTER DATABASE.

Konfigurieren der automatischen Optimierung von E-Mail-Benachrichtigungen

Informationen zu automatisierten E-Mail-Benachrichtigungen zu Empfehlungen von der automatischen Optimierung finden Sie im Handbuch zur automatischen Optimierung von E-Mail-Benachrichtigungen.