Skala elastiska poolresurser i Azure SQL Database

Gäller för:Azure SQL Database

Den här artikeln beskriver hur du skalar de beräknings- och lagringsresurser som är tillgängliga för elastiska pooler och pooldatabaser i Azure SQL Database.

Ändra beräkningsresurser (virtuella kärnor eller DTU:er)

När du har valt antalet virtuella kärnor eller eDTU:er kan du skala upp eller ned en elastisk pool dynamiskt baserat på den faktiska upplevelsen med någon av metoderna nedan:

Påverkan av att ändra beräkningsstorlek för tjänstnivå eller omskalning

Att ändra tjänstnivån eller beräkningsstorleken för en elastisk pool följer ett liknande mönster som för enskilda databaser och omfattar främst att tjänsten utför följande steg:

  1. Skapa en ny beräkningsinstans för den elastiska poolen

    En ny beräkningsinstans för den elastiska poolen skapas med den begärda tjänstnivån och beräkningsstorleken. För vissa kombinationer av ändringar av tjänstnivå och beräkningsstorlek måste en replik av varje databas skapas i den nya beräkningsinstansen, vilket innebär att du kopierar data och kan påverka den övergripande svarstiden. Oavsett är databaserna online under det här steget och anslutningarna fortsätter att dirigeras till databaserna i den ursprungliga beräkningsinstansen.

  2. Växla routning av anslutningar till en ny beräkningsinstans

    Befintliga anslutningar till databaserna i den ursprungliga beräkningsinstansen tas bort. Alla nya anslutningar upprättas till databaserna i den nya beräkningsinstansen. För vissa kombinationer av ändringar av tjänstnivå och beräkningsstorlek kopplas databasfilerna från och kopplas tillbaka under växeln. Oavsett kan växeln leda till ett kort tjänstavbrott när databaser är otillgängliga i allmänhet i mindre än 30 sekunder och ofta i bara några sekunder. Om det finns aktiva långvariga transaktioner när anslutningar tas bort kan varaktigheten för det här steget ta längre tid för att återställa avbrutna transaktioner. Accelererad databasåterställning kan minska effekten från att avbryta långvariga transaktioner.

Viktigt!

Inga data går förlorade under ett steg i arbetsflödet.

Svarstid för ändring av tjänstnivå eller beräkningsstorlek för omskalning

Den uppskattade svarstiden för att ändra tjänstnivån, skala beräkningsstorleken för en enskild databas eller elastisk pool, flytta en databas in/ut från en elastisk pool eller flytta en databas mellan elastiska pooler parametriseras på följande sätt:

Svarstid för elastisk poolskalning Till elastisk pool för basic, standard och generell användning Till Premium Affärskritisk elastisk pool Till elastisk hyperskala-pool
Från elastisk pool för basic, standard och generell användning Proportionellt mot antalet databaser • Svarstider som är proportionella mot databasutrymme som används på grund av datakopiering.
• Normalt används mindre än 1 minut per GB utrymme.
N/A – databaser måste läggas till individuellt i elastiska Hyperskala-pooler. Svarstid för skalning per databas som dokumenteras i Skala enskilda databasresurser.
Från Premium Affärskritisk elastisk pool • Svarstider som är proportionella mot databasutrymme som används på grund av datakopiering.
• Normalt används mindre än 1 minut per GB utrymme.
• Svarstider som är proportionella mot databasutrymme som används på grund av datakopiering.
• Normalt används mindre än 1 minut per GB utrymme.
N/A – databaser måste läggas till individuellt i elastiska Hyperskala-pooler. Svarstid för skalning per databas som dokumenteras i Skala enskilda databasresurser.
Från elastisk hyperskalapool Saknas Saknas • Konstant tidsfördröjning oberoende av använt utrymme.
• Normalt mindre än 2 minuter.

Kommentar

  • När du ändrar tjänstnivå eller skalningsberäkning för elastisk pool som inte är hyperskala bör sammanfattningen av det utrymme som används för alla databaser i poolen användas för att beräkna uppskattningen. Skalningsfördröjningen för elastiska hyperskalapooler är oberoende av det utrymme som används.
  • För elastiska pooler för standard- och generell användning är svarstiden för att flytta en databas in/ut från en elastisk pool eller mellan elastiska pooler proportionell mot databasens storlek om den elastiska poolen använder PFS-lagring (Premium File Share). Kör följande fråga i kontexten för en databas i poolen för att avgöra om en pool använder PFS-lagring. Om värdet i kolumnen AccountType är PremiumFileStorage eller PremiumFileStorage-ZRSanvänder poolen PFS-lagring.
SELECT s.file_id,
       s.type_desc,
       s.name,
       FILEPROPERTYEX(s.name, 'AccountType') AS AccountType
FROM sys.database_files AS s
WHERE s.type_desc IN ('ROWS', 'LOG');

Kommentar

  • Den zonredundanta egenskapen förblir densamma som standard när du skalar en elastisk pool från Affärskritisk till nivån Generell användning.
  • Svarstiden för skalningsåtgärden när zonredundans ändras för en elastisk pool för generell användning är proportionell mot databasens storlek.
  • Det går inte att ändra en befintlig elastisk pool som inte är hyperskala till Hyperskala-utgåvan. Mer information finns i Elastiska hyperskalapooler . I stället måste databaser läggas till individuellt i elastiska Hyperskala-pooler.
  • Det går inte att ändra utgåvan av en elastisk hyperskala-pool till en icke-Hyperskala-utgåva. Mer information finns i Elastiska hyperskalapooler .

Dricks

Information om hur du övervakar pågående åtgärder finns i: Hantera åtgärder med SQL REST API, Hantera åtgärder med CLI, Övervaka åtgärder med T-SQL och dessa två PowerShell-kommandon: Get-AzSqlElasticPoolActivity och Stop-AzSqlElasticPoolActivity.

Ytterligare överväganden vid ändring av tjänstnivå eller beräkningsstorlek för omskalning

  • När du minskar virtuella kärnor eller eDTU:er för en elastisk pool måste poolens använda utrymme vara mindre än den maximala datastorleksgränsen för måltjänstnivån och poolberäkningen.
  • När du ökar eDTU:er för en elastisk pool kan en extra lagringskostnad tillkomma om:
    • Den maximala datastorleken för poolen stöds av målpoolen och
    • Poolens maximala datastorlek överskrider den inkluderade lagringsmängden för målpoolen.
  • Om till exempel en 100 eDTU Standard-pool med en maximal datastorlek på 100 GB har minskats till en 50 eDTU Standard-pool, så gäller en extra lagringskostnad eftersom målpoolen stöder en maximal datastorlek på 100 GB och dess inkluderade lagringsmängd bara är 50 GB. Så den extra lagringsmängden är 100 GB – 50 GB = 50 GB. Priser för extra lagring finns i PRISER för SQL Database. Om den faktiska mängden utrymme som används är mindre än den inkluderade lagringsmängden kan du undvika den här extra kostnaden genom att minska den maximala datastorleken till den inkluderade mängden.

Fakturering under omskalning

Du debiteras för varje timme som en databas finns med den högsta tjänstnivån + beräkningsstorleken som tillämpades under den timmen, oavsett användning eller om databasen var aktiv i mindre än en timme. Om du till exempel skapar en enkel databas och tar bort den fem minuter senare visar fakturan en avgift för en databastimmes.

Ändra lagringsstorlek för elastisk pool

Lagringsstorleken (maximal datastorlek) för den elastiska poolen kan anges med hjälp av Azure-portalen, PowerShell, Azure CLI eller REST-API:et. När du ökar den maximala datastorleken för den elastiska poolen får det angivna värdet inte överskrida den maximala datastorleksgränsen för poolens tjänstmål. När du minskar den maximala datastorleken måste det nya angivna värdet vara lika med eller större än sammanfattningen av det utrymme som allokerats över alla databaser i poolen.

Viktigt!

Under vissa omständigheter kan du behöva krympa en databas för att frigöra outnyttjat utrymme. Mer information finns i Hantera filutrymme i Azure SQL Database.

Köpmodell baserad på virtuell kärna

  • Lagringsstorleken (maximal datastorlek) för elastiska pooler på nivåerna Generell användning eller Affärskritisk kan anges upp till de maximala datastorleksgränserna som anges i Resursgränser för elastiska pooler med köpmodellen för virtuella kärnor. Den maximala datastorleken för den elastiska poolen kan ökas eller minskas i multiplar på 1 GB.
  • Priset för lagring för en elastisk pool är den maximala datastorleken som anges, multiplicerat med lagringsenhetspriset för tjänstnivån. Mer information om lagringspriser finns i PRISER för SQL Database.

Viktigt!

Under vissa omständigheter kan du behöva krympa en databas för att frigöra outnyttjat utrymme. Mer information finns i Hantera filutrymme i Azure SQL Database.

Köpmodell baserad på DTU

  • I EDTU-priset för en elastisk pool ingår en viss mängd lagring utan extra kostnad. Extra datalagring utöver den inkluderade mängden kan etableras för en extra kostnad upp till den maximala datastorleksgränsen som motsvarar de etablerade eDTU:erna. Information om inkluderade lagringsmängder och maximala datastorleksgränser finns i Resursgränser för elastiska pooler med hjälp av DTU-inköpsmodellen.
  • Priset för extra lagring för en elastisk pool är den extra lagringsmängden multiplicerat med det extra priset för lagringsenheter på tjänstnivån. Mer information om priset för extra lagring finns i PRISER för SQL Database.
  • Giltiga värden för den maximala datastorleken för en elastisk pool på Standard- eller Premium-nivå kan vara ett av följande värden: 50 GB, 100 GB, 150 GB, 200 GB, 250 GB, 300 GB, 400 GB, 500 GB, 750 GB, 800 GB, 1 024 GB, 1 200 GB, 1 280 GB, 1 536 GB, 1 600 GB, 1 792 GB, 2 000 GB, 2 048 GB, 2304 GB, 2 500 GB, 2 560 GB, 2 816 GB, 3 000 GB, 3 072 GB, 3 328 GB, 3 584 GB, 3 840 GB, 4 096 GB. Den maximala datastorleken som angetts får inte överskrida den maximala datastorleksgränsen som angetts för de etablerade eDTU:erna.

Viktigt!

Under vissa omständigheter kan du behöva krympa en databas för att frigöra outnyttjat utrymme. Mer information finns i Hantera filutrymme i Azure SQL Database.

Övervaka eller avbryta skalningsändringar

En ändrings- eller beräkningsskalningsåtgärd på tjänstnivå kan övervakas och avbrytas.

På sidan Översikt över elastisk SQL-pool navigerar du till Meddelanden och väljer panelen som anger att det pågår en åtgärd:

Screenshot from the Azure portal of an ongoing deployment in progress.

På den resulterande distributionssidan pågår väljer du Avbryt.

Behörigheter

För att skala en elastisk pool via Azure-portalen, PowerShell, Azure CLI eller REST API krävs Azure RBAC-behörigheter, särskilt rollen Deltagare, SQL DB-deltagare eller AZURE RBAC-roll för SQL Server-deltagare. Mer information finns i inbyggda Azure RBAC-roller.

Övergripande resursgränser finns i SQL Database vCore-baserade resursgränser – elastiska pooler och SQL Database DTU-baserade resursgränser – elastiska pooler.