Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:Azure SQL Database
Denna artikel förklarar beteendet för automatisk paus och automatisk återupptagande för serverlösa beräkningsnivåer i Azure SQL Database, och hur det interagerar med olika funktioner i Azure SQL Database.
För närvarande är General Purpose-servicenivån den enda servicenivån som stödjer serverlös automatisk paus och automatisk återupptagande.
För att övervaka ett serverlöst databastillstånd, se Övervaka paus och återuppta status.
Pausa automatiskt
Auto-paus startar om alla följande villkor är uppfyllda under autopausfördröjningen:
- Antal sessioner = 0
- CPU = 0 för användararbetsbelastning som körs i användarresurspoolen
Som standard finns det en timmes automatisk pausfördröjning.
Funktioner som förhindrar automatisk paus
Om du använder någon av följande funktioner, inaktivera automatisk paus. Databasen förblir online oavsett hur länge databasen är inaktiv. Följande funktioner förhindrar automatisk paus, men de stöder automatisk skalning:
- Geo-replikering (aktiv geo-replikering och failover-grupper)
- Långsiktig reservbevarande (LTR)
- Ett DNS-alias skapat för den logiska servern som innehåller en serverlös databas
Följande funktionsscenarier förhindrar också automatisk paus:
- Synkroniseringsdatabasen som används i SQL Data Sync. Till skillnad från synkroniseringsdatabaser stöder hubb- och medlemsdatabaser automatisk pausning.
- I elastiska jobb stöds en serverlös databas med aktiverad autopaus inte som jobbdatabas. Serverlösa databaser som riktas mot elastiska jobb stödjer automatisk paus. Jobbkopplingar återställer en databas.
- Automatisk pausning förhindras tillfälligt under distributionen av vissa tjänstuppdateringar, vilket kräver att databasen är online. I sådana fall tillåts automatisk pausning igen när tjänstuppdateringen har slutförts.
Återuppta automatiskt
Automatisk återupptagning startar om något av följande villkor är uppfyllda när som helst:
| Feature | Utlösare för automatisk återupptagning |
|---|---|
| Autentisering och auktorisering | Inloggningsförsök |
| Upptäckt av hot | Aktivera eller inaktivera inställningar för hotdetektering på databas- eller servernivå. Ändra inställningarna för hotidentifiering på databas- eller servernivå. |
| Identifiering och klassificering av data | Lägga till, ändra, ta bort eller visa känslighetsetiketter |
| Verifiering | Visning av granskningsprotokoll. Uppdatera eller visa granskningspolicy. |
| Datamaskning | Lägga till, ändra, ta bort eller visa datamaskeringsregler |
| Transparent datakryptering | Visa tillstånd eller status för transparent datakryptering |
| Sårbarhetsbedömning | Manuellt initierade genomsökningar och periodiska genomsökningar om det är aktiverat |
| Prestandadatalager för sökfrågor | Ändra eller visa inställningarna för Query Store |
| Prestandaförslag | Visa eller tillämpa prestandarekommendationer |
| Automatisk kalibrering | Tillämpning och verifiering av autotuning-rekommendationer såsom autoindexering |
| Databaskopiering | Skapa databasen som kopia. Exportera till en BACPAC-fil. |
| SQL-datasynkronisering | Synkronisering mellan hubb- och medlemsdatabaser som körs enligt ett konfigurerbart schema eller utförs manuellt |
| Ändra vissa databasmetadata | Att lägga till eller ändra Azure-taggar i databasen. Ändra maximalt antal vCores, minsta antal vCores eller automatisk pausfördröjning. |
| SQL Server Management Studio (SSMS) | I SSMS-versioner tidigare än 18.1 och när ett nytt frågefönster öppnas för vilken databas som helst på servern, återupptas alla automatiskt pausade databaser på samma server. Detta beteende uppstår inte om du använder SSMS version 18.1 eller senare. |
Övervakning, hantering eller andra lösningar som utför någon av dessa operationer utlöser automatisk återupptagande. Automatisk återupptagning startar också under distributionen av vissa tjänsteuppdateringar som kräver att databasen är online.
Automatisk återuppta utlösaridentifiering
Azure Monitor-aktivitetsloggen visar utlösare för automatisk återupptagning för Resume Databases-åtgärder under egenskapen Caller i JSON-koden för händelserna Started och Succeeded. För mer information, se Övervaka serverless compute-nivån.
Fördröjning
Latensen är generellt ungefär en minut för auto-återupptagande och 1–10 minuter för auto-paus. Fördröjningen för någon av operationerna kan vara så låg som kring en sekund.
Kundhanterad transparent datakryptering
Borttagning eller återkallande av nycklar
Om du använder kundhanterad transparent datakryptering (ta med din egen nyckel eller BYOK) och den serverlösa databasen automatiskt pausas när nyckelradering eller -upphävning sker, förblir databasen i det automatiskt pausade tillståndet. I det här fallet blir databasen otillgänglig inom cirka 10 minuter efter att databasen har återupptagits. När databasen blir otillgänglig är återställningsprocessen densamma som för etablerade beräkningsdatabaser. Om den serverlösa databasen är online när nyckelradering eller återkallelse sker, blir databasen också otillgänglig inom cirka 10 minuter på samma sätt som med provisionerade beräkningsdatabaser.
Nyckelrotation
Om du använder kundhanterad transparent datakryptering (BYOK) och aktiverar serverlös automatisk paus, återupptas databasen automatiskt när nycklar roteras. Databasen pausar sedan automatiskt när autopausningsvillkoren är uppfyllda.
Automatisk pausning av felsökning
Felsökning av automatisk återanslutning
Om en serverlös databas har pausats återupptar det första anslutningsförsöket databasen och returnerar ett fel som anger att databasen inte är tillgänglig med felkoden 40613. När databasen återupptas, försök ansluta igen. Databaser återupptas vanligtvis på mindre än en minut.
Alla molnanslutna applikationer bör använda rekommendationer för anslutningsåterförsökslogik. Applikationer kräver omförsökslogik för att lyckas efter tillfälliga anslutningsfel. Omprövarlogik är särskilt viktig för serverlösa databaser, där tillfälliga anslutningsfel på grund av automatisk återupptagning är förutsägbara.
Information om logikalternativ och rekommendationer för anslutningsförsök finns i:
- Omförsökslogik för anslutning i SqlClient
- Omförsökslogik för anslutning i SQL Database med Entity Framework Core
- Omförsökslogik för anslutning i SQL Database med Entity Framework 6
- Omförsökslogik för anslutning i SQL Database med hjälp av ADO.NET
- Anslutningsresiliens i JDBC
- Anslutningsresiliens i PHP
- Anslutningsresiliens i ODBC
Felsökning av automatisk paus
Om du aktiverar automatisk paus och inte använder funktioner som blockerar automatisk paus, men databasen inte gör det efter fördröjningsperioden, kan applikations- eller användarsessioner förhindra automatisk paus.
För att se om några applikations- eller användarsessioner för närvarande är anslutna till databasen, kör följande fråga:
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
När du har kört frågan, se till att koppla från databasen. Annars förhindrar den öppna session som används av frågan automatisk pausning.
- Om resultatuppsättningen inte är tom indikerar det att sessioner för närvarande förhindrar automatisk paus.
- Om resultatuppsättningen är tom är det fortfarande möjligt att sessionerna var öppna, möjligen under en kort tid, tidigare under den automatiska pausperioden. För att kontrollera aktivitet under fördröjningsperioden, använd Auditing för Azure SQL Database och Azure Synapse Analytics och granska revisionsdata för relevant period.
Important
Förekomsten av öppna sessioner, med eller utan samtidig processoranvändning i användarresurspoolen, är den vanligaste orsaken till att en serverlös databas inte pausar automatiskt som förväntat.