Automatisches Anhalten und automatisches Fortsetzen im serverlosen Computetarif für Azure SQL-Datenbank

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.

Derzeit ist die General Purpose Service Tier die einzige Service-Stufe, die serverloses automatisches Pausieren und automatisches Fortsetzen unterstützt.

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

Standardmäßig gibt es eine einstündige automatische Pausenverzögerung.

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:

Die folgenden Feature-Szenarien verhindern außerdem das automatische Pausieren:

  • Die in SQL Datensynchronisierung verwendete Synchronisierungsdatenbank. Im Gegensatz zu einer Synchronisierungsdatenbank unterstützen die Hub- und Mitgliederdatenbanken das automatische Anhalten.
  • 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. Berufliche Verbindungen nehmen eine Datenbank wieder auf.
  • 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.

Automatisches Fortsetzen

Die automatische Fortsetzung wird gestartet, wenn zu irgendeinem Zeitpunkt eine der folgenden Bedingungen zutrifft:

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 Leistungsverbesserung
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 von maximalen vCores, minimalen vCores oder der Autopausenverzö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.

Automatische Identifizierung von Fortsetzungstriggern

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 liegt in der Regel bei etwa einer Minute zum automatischen Fortsetzen und 1–10 Minuten zum automatischen Pausieren. Die Latenz für die jeweiligen Vorgänge kann so gering wie die Größenordnung einer Sekunde sein.

Kundenseitig verwaltete transparente Datenverschlüsselung

Löschen oder Sperren von Schlüsseln

Wenn Sie eine vom Kunden verwaltete transparente Datenverschlüsselung verwenden (bringen Sie Ihren eigenen Schlüssel oder BYOK mit) und die serverlose Datenbank automatisch pausiert wird, wenn eine Schlüssellöschung oder -widerrufung erfolgt, bleibt die Datenbank im automatisch pausierten Zustand. Nach dem nächsten Fortsetzen der Datenbank kann in diesem Fall innerhalb von ungefähr 10 Minuten nicht mehr auf die Datenbank zugegriffen werden. 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:

Fehlerbehebung der automatischen Pause

Wenn du das automatische Pausieren aktivierst und keine Funktionen nutzt, die das automatische Pausieren blockieren, aber die Datenbank nach der Verzögerungsphase nicht automatisch pausiert, könnten Anwendungs- oder Benutzersitzungen das automatische Pausieren 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'
      );

Tip

Stellen Sie nach dem Ausführen der Abfrage sicher, dass Sie die Verbindung mit der Datenbank trennen. Andernfalls verhindert die von der Abfrage verwendete geöffnete Sitzung die automatische Pause.

  • Wenn die Ergebnismenge nicht leer ist, zeigt das, dass Sitzungen derzeit das automatische Pausieren verhindern.
  • Wenn die Ergebnismenge leer ist, ist es dennoch möglich, dass die Sitzungen zu einem Zeitpunkt während der automatischen Pause-Verzögerungsphase irgendwann für kurze Zeit geöffnet waren. Um die Aktivität während der Verzögerungsphase zu überprüfen, verwenden Sie Auditing for Azure SQL-Datenbank und Azure Synapse Analytics und prüfen Sie die Auditdaten für den entsprechenden Zeitraum.

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.