Aktivieren der automatischen Optimierung im Azure-Portal zum Überwachen von Abfragen und Verbessern der Workloadleistung
Gilt für: Azure SQL-Datenbank Azure 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 prüfen und manuell anwenden oder Azure SQL-Datenbank die Maßnahmen automatisch anwenden lassen. Letzteres wird als automatischer Optimierungsmodus bezeichnet.
Die automatische Optimierung kann auf Server- oder auf Datenbankebene über eine der folgenden Optionen aktiviert werden:
- Das Azure-Portal
- REST-API-Aufrufe
- T-SQL-Befehle
Hinweis
Für Azure SQL Managed Instance kann die unterstützte Option FORCE_LAST_GOOD_PLAN nur über T-SQL konfiguriert werden. Die in diesem Artikel beschriebene auf dem Azure-Portal basierende Konfiguration und die Optionen zur automatischen Indexoptimierung gelten nicht für Azure SQL Managed Instance.
Hinweis
Die Vorlage zum Konfigurieren der Optionen zur automatischen Optimierung über ARM (Azure Resource Manager) wird derzeit nicht unterstützt.
Aktivieren der automatischen Optimierung für den Server
Auf Serverebene kann auf Wunsch die Konfiguration der automatischen Optimierung von „Azure-Standardwerte“ geerbt werden. In den Azure-Standardwerten ist „FORCE_LAST_GOOD_PLAN“ deaktiviert, „CREATE_INDEX“ aktiviert 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.
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.
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. Die Azure-Standardwerte sind wie folgt festgelegt: FORCE_LAST_GOOD_PLAN ist aktiviert, CREATE_INDEX und DROP_INDEX sind 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.
Klicken Sie nach der Auswahl der gewünschten Konfiguration auf Übernehmen.
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.
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
Wenn Sie die automatische Optimierung auf „AUTO“ festlegen, werden die Azure-Standardwerte verwendet. Bei Verwendung von „INHERIT“ wird die Konfiguration der automatischen Optimierung vom übergeordneten Server geerbt. Bei Verwendung von „CUSTOM“ muss die automatische Optimierung manuell konfiguriert werden.
Wenn Sie über T-SQL einzelne Optionen der automatischen Optimierung konfigurieren möchten, stellen Sie eine Verbindung mit der Datenbank her, und führen Sie eine Abfrage wie die folgende aus:
ALTER DATABASE current SET AUTOMATIC_TUNING (FORCE_LAST_GOOD_PLAN = ON, CREATE_INDEX = ON, DROP_INDEX = OFF)
Wenn Sie eine Optimierungsoption auf „ON“ festlegen, werden gegebenenfalls geerbte Einstellungen der Datenbank überschrieben, und die entsprechende Optimierungsoption wird aktiviert. Gleiches gilt für „OFF“: Auch hier werden gegebenenfalls geerbte Einstellungen der Datenbank überschrieben, und die entsprechende Optimierungsoption wird deaktiviert. Bei Verwendung der automatischen Optimierungsoption „DEFAULT“ wird die Konfiguration für automatische Optimierung aus den Einstellungen auf Serverebene geerbt.
Wichtig
Im Fall einer aktiven Georeplikation muss die automatische Optimierung nur für die primäre Datenbank konfiguriert werden. Automatisch angewandte Aktionen zur Optimierung, z. B. das Erstellen oder Löschen des Index, werden automatisch in die schreibgeschützte georeplizierte sekundäre Datenbank repliziert. Der Versuch, die automatischen Optimierung in der sekundären schreibgeschützten Datenbank über T-SQL zu aktivieren, führt zu einem Fehler, da für die schreibgeschützte sekundäre Datenbank keine abweichende Optimierungskonfiguration unterstützt wird.
Informationen zu den T-SQL-Optionen für die Konfiguration der automatischen Optimierung finden Sie unter ALTER DATABASE SET-Optionen (Transact-SQL).
Problembehandlung
Automatisierte Empfehlungsverwaltung ist deaktiviert
Für Fehlermeldungen, dass die automatisierte Empfehlungsverwaltung deaktiviert oder einfach vom System deaktiviert wurde, sind die häufigsten Gründe:
- Abfragespeicher 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:
- Stellen Sie eine Verbindung zur Azure SQL-Datenbank her
- Klicken Sie mit der rechten Maustaste auf die Datenbank.
- Wechseln Sie zu Eigenschaften und klicken Sie auf Abfragespeicher
- Ändern Sie den Betriebsmodus in Lesen/Schreiben
- Ändern Sie den Speichererfassungsmodus in „Auto“
- Ändern Sie den größenbasierten Bereinigungsmodus in „Auto“
Berechtigungen
Bei Azure SQL Datenbanken erfordern die Verwaltung der automatischen Optimierung im Azure-Portal oder die Verwendung von PowerShell oder der REST-API die Mitgliedschaft in integrierten RBAC-Rollen von Azure.
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.
Nächste Schritte
- Weitere Informationen zur automatischen Optimierung sowie zu ihrer Rolle bei der Verbesserung der Leistung finden Sie in diesem Artikel.
- Eine Übersicht über die Leistungsempfehlungen von Azure SQL-Datenbank finden Sie hier.
- Unter Query Performance Insight erfahren Sie, wie Sie die Auswirkungen Ihrer wichtigsten Abfragen auf die Leistung untersuchen können.