Konfigurera tempdb-inställningar för Azure SQL Managed Instance
Gäller för:Azure SQL Managed Instance
I den här artikeln lär du dig att konfigurera tempdb
inställningarna för Azure SQL Managed Instance.
Med Azure SQL Managed Instance kan du konfigurera följande:
- Antal
tempdb
filer - Ökningssteget för
tempdb
filer - Maximal
tempdb
storlek
tempdb
inställningarna kvarstår när instansen har startats om, uppdaterats eller om det sker en redundansväxling.
Översikt
tempdb
är en av standardsystemdatabaserna som medföljer Azure SQL Managed Instance. Strukturen tempdb
för är densamma som alla andra användardatabasstrukturer. Skillnaden är att transaktionerna loggas minimalt eftersom tempdb
de används för lagring som inte kan användas.
tempdb
kan inte tas bort, kopplas från, tas offline, byta namn eller återställas. Om du försöker utföra någon av dessa åtgärder returneras ett fel. tempdb
återskapas vid varje start av serverinstansen och alla objekt som kan ha skapats under tempdb
en tidigare session bevaras inte när tjänsten startas om, efter en instansuppdateringshantering eller en redundansväxling.
Arbetsbelastningen i tempdb
skiljer sig från arbetsbelastningar i andra användardatabaser. Objekt och data skapas och förstörs ofta och det finns extremt hög samtidighet. Det finns bara en tempdb
för varje hanterad instans. Även om du har flera databaser och program som ansluter till instansen använder de alla samma tempdb
databas. Tjänster kan uppleva konkurrens när de försöker allokera sidor i en kraftigt använd tempdb
. Beroende på graden av konkurrens kan frågor och begäranden som berörs tempdb
bli svarslösa. Därför är tempdb
det viktigt för tjänstens prestanda.
Antal tempdb
filer
Om du ökar antalet tempdb
datafiler skapas en eller flera GAM- och SGAM-sidor för varje datafil, vilket bidrar till att förbättra tempdb
samtidigheten och minskar PFC-sidkonkurrensen. Att öka antalet tempdb
datafiler kan dock få andra prestandakonsekvenser, så testa noggrant innan du implementerar i produktion.
Som standard skapar Azure SQL Managed Instance 12 tempdb
datafiler och en tempdb
loggfil, men det går att ändra den här konfigurationen.
Det finns följande begränsningar när du ändrar antalet tempdb
filer:
- Det logiska namnet på den nya filen är skiftlägesokänsligt, med högst 16 tecken och inga blanksteg.
- Det maximala antalet
tempdb
filer är 128.
Kommentar
Du behöver inte starta om servern när du har lagt till nya filer. Tömningsfilerna fylls dock med högre prioritet och resursallokeringsalgoritmen för allokering av sidor går förlorad tills systemet balanseras om.
Du kan använda både SQL Server Management Studio (SSMS) och Transact-SQL (T-SQL) för att ändra antalet filer för tempdb
i Azure SQL Managed Instance.
Du kan använda SQL Server Management Studio (SSMS) för att ändra antalet tempdb
filer. Följ stegen nedan:
Anslut till din hanterade instans i SSMS.
Expandera Databaser i Object Explorer och expandera sedan Systemdatabaser.
Högerklicka på
tempdb
och välj Egenskaper.Välj Filer under Välj en sida för att visa det befintliga antalet
tempdb
filer.Om du vill lägga till en fil väljer du Lägg till och anger sedan information om den nya datafilen på raden.
Om du vill ta bort en
tempdb
fil väljer du den fil som du vill ta bort från listan över databasfiler och väljer sedan Ta bort.
Tillväxtökning
tempdb
filtillväxt kan ha en prestandapåverkan på frågor med hjälp av tempdb
. tempdb
Därför kan ökningar av datafilstillväxt som är för små orsaka fragmentering av omfattningen, medan ökningar som är för stora kan leda till långsam tillväxt eller tillväxtfel om det inte finns tillräckligt med utrymme för att tillväxten ska ske. Det optimala värdet för tempdb
ökningar av filtillväxt beror på din arbetsbelastning.
Standardökningen för SQL Managed Instance är 254 MB för tempdb
datafiler och 64 MB för tempdb
loggfiler, men du kan konfigurera tillväxtökningar för att anpassa dig till din arbetsbelastning och justera dina prestanda.
Tänk på följande:
- Parametern för filtillväxt stöder följande enheter för
int_growth_increment
: KB, MB, GB, TB och %. - Tillväxtökningar bör vara desamma för alla
tempdb
datafiler som annars kan resursallokeringsalgoritmen som allokerar sidor påverkas.
Du kan använda både SQL Server Management Studio (SSMS) och Transact-SQL (T-SQL) för att ändra tillväxtökningen för dina tempdb
filer.
Du kan använda SQL Server Management Studio (SSMS) för att ändra ökningssteget för tempdb
filer. Följ stegen nedan:
Anslut till din hanterade instans i SSMS.
Expandera Databaser i Object Explorer och expandera sedan Systemdatabaser.
Högerklicka på
tempdb
och välj Egenskaper.Välj Filer under Välj en sida för att visa det befintliga antalet
tempdb
filer.Välj ellipserna (...) bredvid en datafil för att öppna dialogrutan Ändra egenskaper för automatisk tillväxt .
Markera kryssrutan bredvid Aktivera autogrowth och ändra sedan inställningarna för automatisk tillväxt genom att ange värdena för filtillväxt, antingen i procent eller megabyte.
Spara inställningarna genom att välja OK.
Maximal storlek
tempdb
storlek är summan av alla tempdb
filer. tempdb
filstorlek är ett allokerat (nollställt) utrymme för tempdb
filen. Den ursprungliga filstorleken för alla tempdb
filer är 16 MB, vilket är storleken på alla tempdb
filer när instansen startas om eller redundansväxlar. När en tempdb
datafils använda utrymme når filstorleken växer alla tempdb
datafiler automatiskt genom de konfigurerade tillväxtstegen.
tempdb
använt utrymme är summan av det använda utrymmet för alla tempdb
filer. tempdb
det filutrymme som används är lika med den del av filstorleken som tempdb
används med icke-nollinformation. Summan av tempdb
använt utrymme ochtempdb
ledigt utrymme är lika tempdb
med storleken.
Du kan använda T-SQL för att fastställa aktuellt använt och ledigt utrymme för dina tempdb
filer.
Kör det här kommandot för att få använt utrymme, ledigt utrymme och storleken på dina tempdb
datafiler:
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
Följande skärmbild visar ett exempel på utdata:
Kör det här kommandot för att hämta använt utrymme, ledigt utrymme och storleken på dina tempdb
loggfiler:
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
Följande skärmbild visar ett exempel på utdata:
tempdb
maxstorlek är den gräns som du tempdb
inte kan öka ytterligare efter.
tempdb
maxstorleken i SQL Managed Instance har följande begränsningar:
- På tjänstnivån Generell användning är den maximala storleken för
tempdb
begränsad till 24 GB/virtuell kärna (96–1920 GB) och loggfilen är 120 GB. - På tjänstnivån
tempdb
Affärskritisk konkurrerar du med andra databaser om resurser, så den reserverade lagringen delas mellantempdb
och andra databaser. Loggfilens maximalatempdb
storlek är 2 TB.
tempdb
filer växer tills de når antingen den maximala gränsen som tillåts av tjänstnivån eller av den manuellt konfigurerade maximala tempdb
filstorleken.
Du kan använda både SQL Server Management Studio (SSMS) och Transact-SQL (T-SQL) för att ändra den maximala storleken för dina tempdb
filer.
Följ dessa steg för att fastställa din aktuella tempdb
maxstorlek i SSMS:
- Anslut till din hanterade instans i SSMS.
- Expandera Databaser i Object Explorer och expandera sedan Systemdatabaser.
- Högerklicka på
tempdb
och välj Egenskaper. - På sidan Allmänt kontrollerar du värdet Storlek under Databas för att fastställa din maximala tempdb-storlek. Värdet
-1
för anger att maxstorleken tempdb är obegränsad.
Följ dessa steg om du vill ändra din aktuella tempdb
maxstorlek i SSMS:
- Anslut till din hanterade instans i SSMS.
- Expandera Databaser i Object Explorer och expandera sedan Systemdatabaser.
- Högerklicka på
tempdb
och välj Egenskaper. - Välj Filer under Välj en sida för att visa det befintliga antalet
tempdb
filer. - Välj ellipserna (...) bredvid en datafil för att öppna dialogrutan Ändra egenskaper för automatisk tillväxt .
- Ändra maxstorleksinställningarna
tempdb
genom att ändra värdena under Maximal filstorlek. - Spara inställningarna genom att välja OK.
tempdb-gränser
I följande tabell definieras gränser för olika tempdb
konfigurationsinställningar:
Konfigurationsuppsättning | Värden |
---|---|
Logiska namn på tempdb filer |
Maximalt 16 tecken |
Antal tempdb filer |
Maximalt 128 filer |
Standardantal filer tempdb |
13 (1 loggfil + 12 datafiler) |
Initial storlek på tempdb datafiler |
16 MB |
Standardökningsökning för tempdb datafiler |
256 MB |
Initial storlek på tempdb loggfiler |
16 MB |
Standardökningsökning för tempdb loggfiler |
64 MB |
Ursprunglig maxstorlek tempdb |
-1 (obegränsat) |
Maximal storlek på tempdb |
Upp till lagringsstorleken |
Nästa steg
- Mer information om hur du skapar din första hanterade instans finns i snabbstartsguiden.
- En funktions- och jämförelselista finns i VANLIGA SQL-funktioner.
- Mer information om VNet-konfiguration finns i SQL Managed Instance VNet-konfiguration.
- En snabbstart som skapar en hanterad instans och återställer en databas från en säkerhetskopia finns i Skapa en hanterad instans.
- En självstudiekurs om hur du använder Azure Database Migration Service för migrering finns i SQL Managed Instance-migrering med Hjälp av Database Migration Service.
- Avancerad övervakning av SQL Managed Instance-databasprestanda med inbyggd felsökningsinformation finns i Övervaka Azure SQL Managed Instance med Azure SQL Analytics.
- Prisinformation finns i PRISER för SQL Database.