Konfigurieren und Verwalten der Leistung

Abgeschlossen

Ein umfassendes Verständnis der Azure SQL-Funktionen ist eine Voraussetzung für die Gewährleistung einer konsistenten Leistung. Zudem sollten Sie die Optionen und Einschränkungen kennen, die Sie in Azure SQL Managed Instance und Azure SQL-Datenbank-Instanzen konfigurieren müssen und die sich auf die Leistung auswirken können. Hierzu gehören folgende Elemente:

  • Themen der tempdb-Datenbank
  • Konfigurieren von Datenbanken
  • Konfigurieren von Dateien und Dateigruppen
  • Konfigurieren des maximalen Parallelitätsgrads
  • Verwenden des Resource Governor
  • Verwalten von Indizes und Statistiken

Tempdb

Die tempdb-Systemdatenbank ist eine wichtige gemeinsame Ressource für Anwendungen. Bei richtiger Konfiguration kann tempdb dazu beitragen, eine konsistente Leistung zu gewährleisten. Die Verwendung von tempdb erfolgt in Azure SQL und SQL Server auf die gleiche Weise. Beachten Sie jedoch, dass Ihre Möglichkeiten zur Konfiguration von tempdb unterschiedlich sind, einschließlich der Platzierung von Dateien, der Anzahl und Größe von Dateien und tempdb-Konfigurationsoptionen.

Die Datenbankdateien von tempdb werden immer automatisch auf lokalen SSD-Laufwerken gespeichert, sodass die E/A-Leistung kein Problem sein sollte.

SQL Server-Experten verwenden oft mehr als eine Datenbankdatei, um die Speicherbelegung von tempdb-Tabellen zu partitionieren. In Azure SQL-Datenbank skaliert die Anzahl der Dateien mit der Anzahl der virtuellen Kerne (z. B. zwei virtuelle Kerne entsprechen vier Dateien), wobei die maximal zulässige Anzahl bei 16 liegt. Die Anzahl der tempdb-Dateien kann nicht mit T-SQL, sondern nur durch Ändern der Bereitstellungsoption konfiguriert werden. Die maximale Größe von tempdb wird mit Anzahl von virtuellen Kernen skaliert. Unabhängig von der Anzahl der virtuellen Kerne erhalten Sie in SQL Managed Instance 12 Dateien.

Die Datenbankoption MIXED_PAGE_ALLOCATION ist auf AUS festgelegt und AUTOGROW_ALL_FILES auf EIN festgelegt. Sie können dies nicht konfigurieren, aber wie bei SQL Server sind dies die empfohlenen Standardeinstellungen.

Die in SQL Server 2019 eingeführte tempdb-Metadaten-Optimierungsfunktion, die große Latchkonflikte verringern kann, ist derzeit nicht in Azure SQL Database oder Azure SQL Managed Instance verfügbar.

Datenbankkonfiguration

Die Datenbankkonfiguration erfolgt für gewöhnlich mithilfe der T-SQL-Anweisungen ALTER DATABASE und ALTER DATABASE SCOPED CONFIGURATION. Viele der Optionen für die Konfiguration der Leistung sind für Azure SQL verfügbar. Informationen zu den Unterschieden zwischen SQL Server, Azure SQL-Datenbank und Azure SQL Managed Instance finden Sie in der T-SQL-Referenz zu ALTER DATABASE und ALTER DATABASE SCOPED CONFIGURATION.

Eine Option für die Leistungskonfiguration, die nicht geändert werden kann, ist das Wiederherstellungsmodell der Datenbank. Die Standardeinstellung ist eine vollständige Wiederherstellung. Dadurch wird sichergestellt, dass Ihre Datenbank die Azure-Vereinbarungen zum Servicelevel (Service Level Agreements, SLAs) erfüllen kann. Daher wird die minimale Protokollierung für Massenvorgänge nicht unterstützt. Die minimale Protokollierung für Massenvorgänge wird jedoch für tempdb unterstützt.

Dateien und Dateigruppen

SQL Server-Experten setzen häufig Dateien und Dateigruppen ein, um die E/A-Leistung durch aktive Dateiplatzierung zu verbessern. Azure SQL lässt nicht zu, dass Benutzer Dateien in bestimmten Festplattensystemen ablegen. In Azure SQL sind jedoch in Bezug auf Raten, auf die IOPS und auf Latenzen Ressourcengarantien für die E/A-Leistung vorgesehen. Die Abstraktion des Benutzers von der aktiven Dateiplatzierung kann also von Vorteil sein.

Azure SQL-Datenbank verfügt nur über eine einzelne Datenbankdatei (Hyperscale in der Regel über mehrere), und die maximale Größe wird über Azure-Schnittstellen konfiguriert. Es gibt keine Funktionen zum Erstellen zusätzlicher Dateien.

Azure SQL Managed Instance unterstützt das Hinzufügen von Datenbankdateien sowie das Konfigurieren der Dateigrößen, jedoch nicht die aktive Dateiplatzierung. Sie können die Dateianzahl und die Dateigrößen für SQL Managed Instance zur Verbesserung der E/A-Leistung einsetzen. Außerdem werden benutzerdefinierte Dateigruppen in SQL Managed Instance zu Verwaltungszwecken unterstützt.

MAXDOP-Konfiguration

Der maximale Parallelitätsgrad (Max Degree Of Parallelism, MAXDOP) kann die Leistung einzelner Abfragen beeinflussen und funktioniert in Azure SQL genauso wie in SQL Server. Die Konfiguration von MAXDOP erfolgt in Azure SQL auf ähnliche Weise wie in SQL Server mithilfe einer der folgenden Methoden:

  • ALTER DATABASE SCOPED CONFIGURATION wird in Azure SQL für die Konfiguration von MAXDOP unterstützt.
  • Die gespeicherte Prozedur „sp_configure“ für „Max. Grad an Parallelität“ wird für SQL Managed Instance unterstützt.
  • MAXDOP-Abfragehinweise werden vollständig unterstützt.
  • Die Konfiguration von MAXDOP mit dem Resource Governor wird für SQL Managed Instance unterstützt.

Resource Governor

Der Resource Governor ist ein SQL Server-Feature, mit dem Sie die Ressourcenverwendung für Arbeitsauslastungen über die E/A, die CPU und den Arbeitsspeicher steuern können. Beachten Sie, dass der Resource Governor nur in SQL Managed Instance für benutzerdefinierte Arbeitsauslastungsgruppen und -pools unterstützt wird, nicht in Azure SQL-Datenbank.

Indexverwaltung

Die Erstellung und Wartung von Indizes verläuft in Azure SQL und SQL Server identisch. Die Erstellung, Neuerstellung und Neusortierung von Indizes wird beispielsweise genauso wie in SQL Server vollständig unterstützt. Dies schließt auch Onlineindizes und fortsetzbare Indizes ein.

Verwaltung von Statistiken

SQL Server und Azure SQL verarbeiten Statistiken auf dieselbe Weise. In beiden Plattformen sind automatische Statistikoptionen für Datenbanken verfügbar.

Nachdem Sie nun einige der Konfigurations- und Verwaltungsoptionen für die Leistung in Azure SQL kennengelernt haben, können Sie Ihr neu gewonnenes Wissen testen, bevor Sie mit der nächsten Lerneinheit fortfahren.

Wissensbeurteilung

1.

Mit welcher Methode lässt sich die Anzahl der tempdb-Dateien für Azure SQL-Datenbank konfigurieren?

2.

Mit welcher Methode können Sie die E/A-Leistung für Azure SQL-Datenbank konfigurieren?

3.

Wie werden Indizes in Azure SQL verwaltet?