Konfigurieren von tempdb-Einstellungen für Azure SQL Managed Instance
Gilt für:Azure SQL Managed Instance
In diesem Artikel erfahren Sie, wie Sie Ihre tempdb
-Einstellungen für Azure SQL Managed Instance konfigurieren.
Mit Azure SQL Managed Instance können Sie Folgendes konfigurieren:
- Anzahl von
tempdb
Dateien - Vergrößerungsinkrement der
tempdb
Dateien - Maximale
tempdb
Größe
tempdb
-Einstellungen bleiben auch nach einem Neustart, einer Aktualisierung oder einem Failover Ihrer Instanz erhalten.
Übersicht
tempdb
ist eine der Standardsystemdatenbanken, die Azure SQL Managed Instance enthalten. Die Struktur von tempdb
ist identisch mit jeder anderen Benutzerdatenbankstruktur. Der Unterschied besteht darin, dass Transaktionen minimal protokolliert werden, da tempdb
für nicht dauerhafte Speicher verwendet werden.
tempdb
kann nicht gelöscht, getrennt, offline genommen, umbenannt oder wiederhergestellt werden. Der Versuch, einen dieser Vorgänge durchzuführen, gibt einen Fehler zurück. tempdb
wird jedes Mal neu erstellt, wenn die Serverinstanz gestartet wird, und alle Objekte, die in einer vorherigen Sitzung in tempdb
erstellt wurden, bleiben nicht erhalten, wenn der Dienst nach einer Instanzaktualisierung oder einem Failover neu gestartet wird.
Der Workload in tempdb
unterscheidet sich von Workloads in anderen Benutzerdatenbanken. Objekte und Daten werden häufig erstellt und zerstört, und es besteht eine extrem hohe Parallelität. Für jede verwaltete Instanz gibt es nur eine tempdb
. Auch wenn mehrere Datenbanken und Anwendungen eine Verbindung mit der Instanz herstellen, verwenden sie alle die gleiche tempdb
-Datenbank. Bei Diensten kann es zu Konflikten kommen, wenn sie versuchen, Seiten in einer stark genutzten tempdb
zuzuordnen. Je nach Grad des Konflikts können Abfragen und Anfragen, die tempdb
betreffen, nicht mehr beantwortet werden. Aus diesem Grund ist tempdb
entscheidend für die Leistung der Dienste.
Anzahl von tempdb
Dateien
Wenn Sie die Anzahl der tempdb
Datendateien erhöhen, werden für jede Datendatei eine oder mehrere GAM- und SGAM-Seiten erstellt, wodurch die tempdb
Parallelität der tempdb verbessert und PFC-Seitenkonflikte verringert werden. Die Erhöhung der Anzahl der tempdb
Datendateien kann jedoch andere Auswirkungen auf die Leistung haben, daher sollten Sie vor der Implementierung in der Produktion gründlich testen.
Standardmäßig erstellt Azure SQL Managed Instance 12 tempdb
Datendateien und 1 tempdb
Protokolldatei, aber es ist möglich, diese Konfiguration zu ändern.
Das Ändern der Anzahl von tempdb
Dateien hat die folgenden Einschränkungen:
- Beim logischen Namen der neuen Datei wird nicht zwischen Groß- und Kleinschreibung unterschieden. Er darf maximal 16 Zeichen lang sein und keine Leerzeichen enthalten.
- Die maximale Anzahl von
tempdb
Dateien ist 128.
Hinweis
Sie müssen den Server nach dem Hinzufügen neuer Dateien nicht neu starten. Die leeren Dateien werden jedoch mit höherer Priorität gefüllt, und der Roundrobin-Algorithmus für die Zuordnung von Seiten geht verloren, bis das System neu ausgeglichen wird.
Sie können sowohl SQL Server Management Studio (SSMS) als auch Transact-SQL (T-SQL) verwenden, um die Anzahl von Dateien für tempdb
in Azure SQL Managed Instance zu ändern.
Sie können SQL Server Management Studio (SSMS) verwenden, um die Anzahl der tempdb
Dateien zu ändern. Gehen Sie dazu folgendermaßen vor:
Stellen Sie in SSMS eine Verbindung zu Ihrer verwalteten Instanz her.
Erweitern Sie Datenbanken in Objekt-Explorer und dann Systemdatenbanken.
Klicken Sie mit der rechten Maustaste auf
tempdb
, und wählen Sie Eigenschaften aus.Wählen Sie Dateien unter Seite auswählen, um die Anzahl der vorhandenen
tempdb
Dateien anzuzeigen.Um eine Datei hinzuzufügen, wählen Sie Hinzufügen aus, und geben Sie dann Informationen zur neuen Datendatei in der Zeile an.
Um eine
tempdb
Datei zu entfernen, wählen Sie die Datei aus, die Sie aus der Liste der Datenbankdateien entfernen möchten, und wählen Sie dann Entfernen aus.
Vergrößerungsinkrement
Das Wachstum der tempdb
-Datei kann sich auf die Leistung von Abfragen mit tempdb
auswirken. So können zu kleine Vergrößerungsinkremente für tempdb
Datendateien zu einer Fragmentierung des Umfangs führen, während zu große Inkremente ein langsames Wachstum oder einen Wachstumsausfall zur Folge haben können, wenn nicht genügend Platz für das Wachstum vorhanden ist. Der optimale Wert für Vergrößerungsinkremente der tempdb
Datendatei hängt von Ihrer Workload ab.
Die standardmäßigen Vergrößerungsinkremente für SQL Managed Instance sind 254 MB für tempdb
Datendateien und 64 MB für tempdb
Protokolldateien. Sie können jedoch Vergrößerungsinkremente konfigurieren, um sich an Ihre Workload anzupassen und Ihre Leistung zu optimieren.
Beachten Sie Folgendes:
- Der Dateiwachstumsparameter unterstützt die folgenden Einheiten für
int_growth_increment
KB, MB, GB, TB und %. - Vergrößerungsinkremente sollten für alle
tempdb
Datendateien gleich sein, da andernfalls der Roundrobin-Algorithmus, der Seiten zuordnet, beeinträchtigt werden kann.
Sie können sowohl SQL Server Management Studio (SSMS) als auch Transact-SQL (T-SQL) verwenden, um das Vergrößerungsinkrement für Ihre tempdb
Dateien zu ändern.
Sie können SQL Server Management Studio (SSMS) verwenden, um das Vergrößerungsinkrement von tempdb
Dateien zu ändern. Gehen Sie dazu folgendermaßen vor:
Stellen Sie in SSMS eine Verbindung zu Ihrer verwalteten Instanz her.
Erweitern Sie Datenbanken in Objekt-Explorer und dann Systemdatenbanken.
Klicken Sie mit der rechten Maustaste auf
tempdb
, und wählen Sie Eigenschaften aus.Wählen Sie Dateien unter Seite auswählen, um die Anzahl der vorhandenen
tempdb
Dateien anzuzeigen.Wählen Sie die Auslassungspunkte (...) neben einer Datendatei aus, um das Dialogfeld Eigenschaften der automatischen Vergrößerung ändern zu öffnen.
Aktivieren Sie das Kontrollkästchen Automatische Vergrößerung aktivieren und ändern Sie dann Ihre Einstellungen für die automatische Vergrößerung, indem Sie die Dateiwachstumswerte entweder in Prozent oder Megabyte angeben.
Klicken Sie auf OK, um die Einstellungen zu speichern.
Maximale Größe
tempdb
-Größe ist die Summengröße aller tempdb
Dateien. tempdb
Dateigröße ist ein zugewiesener (auf Null gesetzter) Speicherplatz für diese tempdb
Datei. Die anfängliche Dateigröße für alle tempdb
Dateien beträgt 16 MB. Dies ist die Größe aller tempdb
Dateien, wenn die Instanz neu gestartet wird oder ein Failover durchgeführt wird. Sobald der belegte Speicherplatz einer tempdb
Datendatei die Dateigröße erreicht, wachsen alle tempdb
Datendateien automatisch um die konfigurierten Vergrößerungsinkremente.
Dertempdb
belegte Speicherplatz ist die Summe des belegten Speicherplatzes aller tempdb
Dateien. Der belegte Speicherplatz einer tempdb
-Datei ist gleich dem Teil der tempdb
-Dateigröße, der mit Informationen ungleich Null belegt ist. Die Summe aus tempdb
belegtem Speicherplatz und tempdb
freiem Speicherplatz entspricht der tempdb
Größe.
Sie können T-SQL verwenden, um den aktuellen belegten und freien Speicherplatz für Ihre tempdb
Dateien zu ermitteln.
Führen Sie diesen Befehl aus, um den belegten Speicherplatz, den freien Speicherplatz und die Größe Ihrer tempdb
Datendateien zu ermitteln:
USE tempdb
SELECT SUM((allocated_extent_page_count)*1.0/128) AS TempDB_used_data_space_inMB,
SUM((unallocated_extent_page_count)*1.0/128) AS TempDB_free_data_space_inMB,
SUM(total_page_count*1.0/128) AS TempDB_data_size_inMB
FROM sys.dm_db_file_space_usage
Der folgende Screenshot zeigt eine Beispielausgabe:
Um den belegten und freien Speicherplatz sowie die Größe Ihrer tempdb
Protokolldateien zu ermitteln, führen Sie diesen Befehl aus:
USE tempdb
SELECT used_log_space_in_bytes*1.0/1024/1024 AS TempDB_used_log_space_inMB,
(total_log_size_in_bytes- used_log_space_in_bytes)*1.0/1024/1024 AS TempDB_free_log_space_inMB,
total_log_size_in_bytes*1.0/1024/1024 AS TempDB_log_size_inMB
FROM sys.dm_db_log_space_usage
Der folgende Screenshot zeigt eine Beispielausgabe:
Die maximale tempdb
Größe ist die Grenze, ab der Sie tempdb
nicht mehr vergrößern können.
Die maximale tempdb
Größe in SQL Managed Instance weist die folgenden Begrenzungen auf:
- Auf der Dienstebene „Universell“ beträgt die maximale Größe für
tempdb
24 GB/virtueller Kern (96 bis 1920 GB) und für die Protokolldatei 120 GB. - Auf der Dienstebene „Unternehmenskritisch“ konkurriert
tempdb
mit anderen Datenbanken um Ressourcen, sodass der reservierte Speicher vontempdb
und anderen Datenbanken gemeinsam genutzt wird. Die maximale Größe dertempdb
Protokolldatei beträgt 2 TB.
tempdb
-Dateien werden vergrößert, bis sie entweder das von der Dienstebene zulässige maximale Limit oder die manuell konfigurierte maximale tempdb
Dateigröße erreichen.
Sie können sowohl SQL Server Management Studio (SSMS) als auch Transact-SQL (T-SQL) verwenden, um die maximale Größe für Ihre tempdb
Dateien zu ändern.
Führen Sie die folgenden Schritte aus, um ihre aktuelle maximale tempdb
Größe in SSMS zu ermitteln:
- Stellen Sie in SSMS eine Verbindung zu Ihrer verwalteten Instanz her.
- Erweitern Sie Datenbanken in Objekt-Explorer und dann Systemdatenbanken.
- Klicken Sie mit der rechten Maustaste auf
tempdb
, und wählen Sie Eigenschaften aus. - Überprüfen Sie auf der Seite „Allgemein“ den Wert Größe unter Datenbank, um Ihre maximale tempdb-Größe zu bestimmen. Ein Wert von
-1
bedeutet, dass die maximale tempdb-Größe unbegrenzt ist.
Um Ihre aktuelle tempdb
Maximalgröße in SSMS zu ändern, gehen Sie wie folgt vor:
- Stellen Sie in SSMS eine Verbindung zu Ihrer verwalteten Instanz her.
- Erweitern Sie Datenbanken in Objekt-Explorer und dann Systemdatenbanken.
- Klicken Sie mit der rechten Maustaste auf
tempdb
, und wählen Sie Eigenschaften aus. - Wählen Sie Dateien unter Seite auswählen, um die Anzahl der vorhandenen
tempdb
Dateien anzuzeigen. - Wählen Sie die Auslassungspunkte (...) neben einer Datendatei aus, um das Dialogfeld Eigenschaften der automatischen Vergrößerung ändern zu öffnen.
- Ändern Sie die Einstellungen für die
tempdb
maximale Größe, indem Sie die Werte unter Maximale Dateigröße ändern. - Klicken Sie auf OK, um die Einstellungen zu speichern.
tempdb-Grenzwerte
In der folgenden Tabelle werden Grenzwerte für verschiedene tempdb
Konfigurationseinstellungen definiert:
Konfigurationseinstellung | Werte |
---|---|
Logische Namen von tempdb Dateien |
Maximale Länge 16 Zeichen |
Anzahl von tempdb Dateien |
Maximal 128 Dateien |
Standardanzahl von tempdb Dateien |
13 (1 Protokolldatei + 12 Datendateien) |
Anfängliche Größe von tempdb Datendateien |
16 MB |
Standardvergrößerungsinkrement von tempdb Datendateien |
256 MB |
Anfangsgröße von tempdb Protokolldateien |
16 MB |
Standardvergrößerungsinkrement von tempdb Protokolldateien |
64 MB |
Anfängliche maximaletempdb Größe |
-1 (unbegrenzt) |
Maximale Größe von tempdb |
Bis zur Speichergröße |
Nächste Schritte
- Im Schnellstarthandbuch erfahren Sie, wie Sie Ihre erste verwaltete Instanz erstellen.
- Eine Liste der Features und einen Funktionsvergleich finden Sie unter Allgemeine SQL-Features.
- Weitere Informationen zur VNET-Konfiguration finden Sie unter Konfigurieren eines VNET für SQL Managed Instance.
- Eine Schnellstartanleitung, in der eine verwaltete Instanz erstellt und eine Datenbank aus einer Sicherungsdatei wiederhergestellt wird, finden Sie unter Erstellen einer verwalteten Azure SQL-Datenbank-Instanz.
- Ein Tutorial zur Verwendung des Azure Database Migration Service für die Migration finden Sie unter SQL Managed Instance-Migration mithilfe des Database Migration Service.
- Informationen zur erweiterten Überwachung der Datenbankleistung von SQL Managed Instance mit integrierten Problembehandlungsfunktionen finden Sie unter Überwachen von Azure SQL-Datenbank mithilfe von Azure SQL-Analyse (Vorschauversion).
- Preisinformationen finden Sie unter Preise für SQL-Datenbank.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für