Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:Azure SQL-Datenbank
Dieser Artikel erklärt das Verhalten der automatischen Pause und des automatischen Fortlaufens für die serverlose Compute-Stufe in Azure SQL-Datenbank und wie diese mit verschiedenen Funktionen der Azure SQL-Datenbank interagiert.
- Serverlose automatische Pause und Auto-Fortsetzung sind in der General Purpose Service-Stufe verfügbar.
- Die serverlose automatische Pausierung und automatische Fortsetzung sind eine Vorschaufunktion von Azure SQL-Datenbank Hyperscale.
Um den Zustand einer serverlosen Datenbank zu überwachen, siehe Monitor pause und resume status.
Automatisches Anhalten
Die automatische Pause beginnt, wenn während der automatischen Pauseverzögerung alle folgenden Bedingungen erfüllt sind:
- Anzahl von Sitzungen: 0
- CPU = 0 für im Benutzer-Ressourcenpool ausgeführte Benutzer-Workloads
Weitere Informationen finden Sie unter serverlose Performance-Konfiguration.
- Im General Purpose Service Tier beträgt die Standard-Autopause-Verzögerung 60 Minuten, die Mindestverzögerung 15 Minuten.
- Für Hyperscale-Auto-Pause (Vorschau) beträgt die Standard-Auto-Pause-Verzögerung 60 Minuten, die Mindestverzögerung 60 Minuten.
Funktionen, die automatische Pause verhindern
Wenn du eine der folgenden Funktionen nutzt, deaktiviere die automatische Pause. Die Datenbank bleibt online, egal wie lange sie inaktiv ist. Die folgenden Funktionen verhindern das automatische Pausieren, aber sie unterstützen die automatische Skalierung:
- Georeplikation (aktive Georeplikation und Failovergruppen)
- Langfristige Backup-Retention (LTR)
- Ein DNS-Alias, das für den logischen Server erstellt wurde, der eine serverlose Datenbank enthält
Die folgenden Feature-Szenarien verhindern außerdem das automatische Pausieren:
- In SQL-Datensynchronisierung verwendete Synchronisierungsdatenbank. Im Gegensatz zu Synchronisierungsdatenbanken unterstützen Hub-Datenbanken und Mitgliedsdatenbanken AutoAnhalten.
- Bei elastischen Jobs wird eine serverlose Datenbank mit aktivierter automatischer Pausierung nicht als Jobdatenbank unterstützt. Serverlose Datenbanken, auf die elastische Jobs abzielen, unterstützen das automatische Pausieren. Auftragsverbindungen setzen eine Datenbank fort.
- Automatisches Anhalten wird während der Bereitstellung bestimmter Dienstupdates vorübergehend verhindert, die erfordern, dass die Datenbank online ist. In solchen Fällen ist das automatische Anhalten wieder zulässig, sobald das Dienstupdate abgeschlossen ist.
Automatisch fortsetzen
Das automatische Fortsetzen beginnt, wenn eine der folgenden Bedingungen erfüllt ist:
| Funktion | Trigger für automatisches Fortsetzen |
|---|---|
| Authentifizierung und Autorisierung | Anmeldeversuch |
| Bedrohungserkennung | Aktivieren oder deaktivieren von Bedrohungserkennungseinstellungen auf Datenbank- oder Serverebene. Ändern von Einstellungen für die Bedrohungserkennung auf der Datenbank- oder Serverebene. |
| Datenerkennung und -klassifizierung | Hinzufügen, Ändern, Löschen oder Anzeigen von Vertraulichkeitsbezeichnungen |
| Überwachen | Anzeigen von Audit-Daten. Aktualisieren oder Anzeigen von Audit-Richtlinien. |
| Datenmaskierung | Hinzufügen, Ändern, Löschen oder Anzeigen von Datenmaskierungsregeln |
| Transparente Datenverschlüsselung | Anzeigen des Status der transparenten Datenverschlüsselung |
| Sicherheitsrisikobewertung | Manuell initiierte Scans und regelmäßige Scans, wenn diese aktiviert sind |
| Abfragedatenspeicher (Leistung) | Ändern oder Anzeigen der Abfragespeicher-Einstellungen |
| Empfehlungen zur Leistung | Anzeigen oder Anwenden von Empfehlungen zur Leistung |
| Automatische Optimierung | Anwendung und Verifikation von Auto-Tuning-Empfehlungen wie der Autoindexierung |
| Kopieren von Datenbanken | Erstelle Datenbank als Kopie. Exportieren in eine BACPAC-Datei. |
| SQL-Datensynchronisierung | Die Synchronisierung zwischen Hub- und Mitgliedsdatenbanken, die nach einem konfigurierbaren Zeitplan oder manuell ausgeführt werden |
| Ändern bestimmter Datenbankmetadaten | Hinzufügen oder Ändern von Azure-Tags in der Datenbank. Ändern der maximalen vCores, minimalen vCores oder automatischen Pausenverzögerung. |
| SQL Server Management Studio (SSMS) | In SSMS-Versionen vor 18.1 und beim Öffnen eines neuen Abfragefensters für jede Datenbank im Server wird jede automatisch pausierte Datenbank auf demselben Server wieder aufgenommen. Dieses Verhalten tritt nicht auf, wenn du SSMS Version 18.1 oder später verwendest. |
Überwachung, Verwaltung oder andere Lösungen, die eine dieser Operationen ausführen, lösen die automatische Wiederaufnahme aus. Die automatische Wiederaufnahme beginnt auch während der Bereitstellung einiger Service-Updates, die erfordern, dass die Datenbank online ist.
Identifizierung von Triggern für die automatische Wiederaufnahme
Das Azure Monitor-Aktivitätsprotokoll weist Trigger für die automatische Wiederaufnahme für „Resume Databases“-Vorgänge unter der Eigenschaft Caller im JSON der Ereignisse Started und Succeeded aus. Weitere Informationen finden Sie unter Überwachen der serverlosen Computebene.
Latenz
Die Latenz beträgt in der Regel etwa eine Minute zum automatischen Fortsetzen und 1–10 Minuten zum automatischen Pausieren, nachdem die Kriterien für Fortsetzen oder Pause erfüllt sind. Die Latenz für beide Operationen kann so gering wie etwa eine Sekunde betragen.
Kundenverwaltete transparente Datenverschlüsselung
Löschen oder Sperren von Schlüsseln
Wenn Sie kundenverwaltete transparente Datenverschlüsselung verwenden (bringen Sie Ihren eigenen Schlüssel oder BYOK mit) und die serverlose Datenbank bei einer Schlüssellöschung oder -widerrufung pausiert wird, bleibt die Datenbank im automatisch pausierten Zustand. In diesem Fall ist die Datenbank nach der Wiederaufnahme innerhalb von etwa 10 Minuten nicht mehr zugänglich. Sobald der Zugriff auf die Datenbank nicht mehr möglich ist, wird der Wiederherstellungsvorgang identisch mit dem für bereitgestellte Computedatenbanken. Wenn die serverlose Datenbank beim Löschen oder Widerruf des Schlüssels online ist, wird die Datenbank innerhalb von etwa 10 Minuten ebenfalls unzugänglich, ähnlich wie bei bereitgestellten Rechendatenbanken.
Schlüsselrotation
Wenn Sie kundenverwaltete transparente Datenverschlüsselung (BYOK) verwenden und das serverlose automatische Pausieren aktivieren, wird die Datenbank automatisch fortgesetzt, sobald die Schlüssel gedreht werden. Die Datenbank pausiert dann automatisch, wenn die Bedingungen für automatische Pausen erfüllt sind.
Problembehandlung bei der automatischen Pause
Fehlerbehebung der automatischen Wiederaufnahme-Konnektivität
Wenn eine serverlose Datenbank gepausiert ist, wird beim ersten Verbindungsversuch die Datenbank wieder aufgenommen, wobei ein Fehler (Fehlercode 40613) mit dem Hinweis zurückgegeben wird, dass die Datenbank nicht verfügbar ist. Sobald die Datenbank wieder aufgenommen wird, versuchen Sie die Verbindung erneut. Datenbanken werden in der Regel in weniger als einer Minute wieder aufgenommen.
Alle cloudverbundenen Anwendungen sollten Empfehlungen zur Verbindungs-Wiederversuchslogik verwenden. Anwendungen benötigen Retry-Logik, um nach vorübergehenden Konnektivitätsfehlern erfolgreich zu sein. Die Logik des erneuten Versuchs ist besonders wichtig für serverlose Datenbanken, in denen temporäre Konnektivitätsfehler durch Auto-Resume vorhersehbar sind.
Informationen zu den Optionen und Empfehlungen für die Verbindungswiederholungslogik finden Sie unter:
- Verbindungswiederholungslogik in SqlClient
- Verbindungswiederholungslogik in SQL-Datenbank mithilfe von Entity Framework Core
- Verbindungswiederholungslogik in SQL-Datenbank mit Entity Framework 6
- Verbindungswiederholungslogik in SQL-Datenbanken mithilfe von ADO.NET
- Verbindungsresilienz in JDBC
- Verbindungsresilienz in PHP
- Verbindungsresilienz in ODBC
Fehlerbehebung der automatischen Pause
Wenn du die automatische Pause aktivierst und keine Funktionen nutzt, die die automatische Pause blockieren, aber die Datenbank nach der Verzögerungsphase nicht automatisch pausiert, könnten Anwendungs- oder Benutzersitzungen die automatische Pause verhindern.
Important
Das Vorhandensein von offenen Sitzungen mit oder ohne gleichzeitige CPU-Auslastung im Benutzerressourcenpool ist der häufigste Grund dafür, dass eine serverlose Datenbank nicht wie erwartet automatisch angehalten wird.
Erkennen Sie Verbindungen, die automatische Pause verhindern
Um zu sehen, ob derzeit Anwendungs- oder Benutzersitzungen mit der Datenbank verbunden sind, führen Sie folgende Abfrage aus:
SELECT session_id,
host_name,
program_name,
client_interface_name,
login_name,
status,
login_time,
last_request_start_time,
last_request_end_time
FROM sys.dm_exec_sessions AS s
INNER JOIN sys.dm_resource_governor_workload_groups AS wg
ON s.group_id = wg.group_id
WHERE s.session_id <> @@SPID
AND
(
(
wg.name like 'UserPrimaryGroup.DB%'
AND
TRY_CAST(RIGHT(wg.name, LEN(wg.name) - LEN('UserPrimaryGroup.DB') - 2) AS int) = DB_ID()
)
OR
wg.name = 'DACGroup'
);
- Wenn die Ergebnismenge nicht leer ist, zeigt das an, dass Sitzungen derzeit das automatische Pausieren verhindern.
- Wenn das Ergebnisset leer ist, ist es dennoch möglich, dass Sitzungen zu einem bestimmten Zeitpunkt während des Verzögerungszeitraums beim AutoAnhalten geöffnet waren, möglicherweise für kurze Zeit. Um während des Verzögerungszeitraums auf Aktivitäten zu prüfen, verwenden Sie Auditing und untersuchen Sie die Auditdaten für den relevanten Zeitraum.
Tip
Nach dem Ausführen der Abfrage trennen Sie sich von der Datenbank. Andernfalls verhindert die von der Abfrage verwendete offene Sitzung das automatische Pausieren.
Einschränkungen
- In der aktuellen Vorschau der serverlosen automatischen Pausierung und automatischen Wiederaufnahme für Azure SQL-Datenbank Hyperscale beträgt die Mindestverzögerung bis zur automatischen Pausierung 60 Minuten.
- In der aktuellen Vorschau des serverlosen Auto-Pauses und Auto-Resumes für Azure SQL-Datenbank Hyperscale erhalten neue serverlose Hyperscale-Datenbanken, die über Azure CLI, Azure PowerShell oder REST API erstellt wurden, eine Standard-Auto-Pause-Verzögerung von 60 Minuten, wenn Sie
--auto-pause-delay(oder den entsprechenden Parameter) nicht explizit angeben. Um die automatische Pause zu deaktivieren, geben Sie--auto-pause-delay -1beim Erstellen oder Aktualisieren einer Datenbank an. Dieses Verhalten spiegelt das bestehende Verhalten für General Purpose Serverless wider. - In der aktuellen Vorschauversion von serverlosem automatischem Anhalten und automatischem Fortsetzen für Azure SQL-Datenbank Hyperscale werden benannte Replikate nicht unterstützt.
- Universelle serverless Datenbanken mit einer automatischen Pauseverzögerung von weniger als 60 Minuten können nicht auf Hyperscale serverless umgerüstet werden, es sei denn, es wird eine automatische Pausenverzögerung von mindestens 60 Minuten (oder
-1zur Deaktivierung der automatischen Pause) angegeben.