Konfigurera och underhålla prestanda
Det är viktigt att förstå funktionerna i Azure SQL när du vill leverera konsekventa prestanda. Det är också viktigt att förstå vilka alternativ och begränsningar du måste konfigurera i Azure SQL Managed Instance och Database eftersom de kan påverka prestandan. Detta omfattar följande:
- Ämnen i
tempdb
databasen - Konfigurera databaser
- Konfigurera filer och filgrupper
- Konfigurera maximal grad av parallellitet
- Använda Resource Governor
- Underhålla index och statistik
Tempdb
Systemdatabasen tempdb
är en viktig delad resurs som används av program. Att säkerställa rätt konfiguration av tempdb
kan påverka din förmåga att leverera konsekventa prestanda. Du använder tempdb
på samma sätt för både SQL Server och Azure SQL. Observera dock att din möjlighet att konfigurera tempdb
är annorlunda, inklusive placering av filer, antalet filer och storleken på filer samt tempdb
konfigurationsalternativ.
Databasfilerna tempdb
i lagras alltid automatiskt på lokala SSD-enheter, så I/O-prestanda bör inte vara ett problem.
SQL Server-proffs använder ofta mer än en databasfil för att partitioneras allokeringar för tempdb
tabeller. För Azure SQL Database skalas antalet filer med antalet virtuella kärnor (till exempel två virtuella kärnor är lika med fyra filer) med högst 16. Antalet filer kan inte konfigureras via T-SQL mot tempdb
, men du kan konfigurera det genom att ändra distributionsalternativet. Den maximala storleken tempdb
på skalas per antal virtuella kärnor. Du får 12 filer med SQL Managed Instance, oberoende av antalet virtuella kärnor.
Databasalternativet MIXED_PAGE_ALLOCATION
är inställt på AV och AUTOGROW_ALL_FILES
är inställt på PÅ. Du kan inte konfigurera detta, men precis som med SQL Server är dessa de rekommenderade standardvärdena.
Funktionen tempdb
för metadataoptimering som introducerades i SQL Server 2019, vilket kan minska den tunga spärrkonkurrationen, är för närvarande inte tillgänglig i Azure SQL Database eller Azure SQL Managed Instance.
Konfiguration av databas
Normalt konfigurerar du en databas med T-SQL-instruktionerna ALTER DATABASE och ALTER DATABASE SCOPED CONFIGURATION. Många av konfigurationsalternativen för prestanda är tillgängliga för Azure SQL. Se T-SQL-referensen ALTER DATABASE och ALTER DATABASE SCOPED CONFIGURATION för skillnaderna mellan SQL Server, Azure SQL Database och Azure SQL Managed Instance.
Ett prestandaalternativ du inte kan ändra är databasens återställningsmodell. Standardvärdet är fullständig återställning. Det här säkerställer att din databas kan uppfylla Azures serviceavtal (SLA). Därför stöds inte minimal loggning för massåtgärder. Minimal loggning för massåtgärder stöds för tempdb
.
Filer och filgrupper
SQL Server-experter använder ofta filer och filgrupper för att förbättra I/O-prestanda med hjälp av fysisk filplacering. Azure SQL tillåter inte att användare placerar filer i specifika disksystem. Azure SQL har dock resursåtaganden för I/O-prestanda med avseende på hastighet, IOPS och svarstider. På så sätt kan det vara en fördel att skilja användaren från den fysiska filplaceringen.
Azure SQL Database har bara en databasfil (Hyperskala har vanligtvis flera) och den maximala storleken konfigureras via Azure-gränssnitt. Det finns ingen funktion för att skapa ytterligare filer.
Azure SQL Managed Instance har stöd för att lägga till databasfiler och konfigurera storlekar, men inte fysisk placering av filer. Du kan använda antalet filer och filstorlekar för SQL Managed Instance för att förbättra I/O-prestanda. Dessutom finns det stöd för användardefinierade filgrupper i SQL Managed Instance i hanterbarhetssyfte.
Konfiguration av MAXDOP
Maximal grad av parallellitet (MAXDOP) kan påverka prestanda för enskilda frågor. SQL Server och Azure SQL hanterar MAXDOP på samma sätt. Du kan konfigurera MAXDOP i Azure SQL ungefär som i SQL Server med hjälp av följande metoder:
- ALTER DATABASE SCOPED CONFIGURATION för att konfigurera MAXDOP stöds i Azure SQL.
- Den lagrade proceduren sp_configure för ”maximal grad av parallellitet” stöds i SQL Managed Instance.
- MAXDOP-frågetips stöds fullt ut.
- Du kan konfigurera MAXDOP med Resource Governor i SQL Managed Instance.
Resource Governor
Resource Governor är en funktion i SQL Server som du kan använda till att styra resursanvändningen för arbetsbelastningar via I/O, CPU och minne. Observera dock att Resource Governor stöds för användardefinierade arbetsbelastningsgrupper och pooler i SQL Managed Instance men inte i Azure SQL Database.
Underhåll av index
Skapande och underhåll av index för Azure SQL är exakt samma som för SQL Server. Precis som i SQL Server stöds till exempel skapande, återskapande och omorganisering av index fullt ut. Detta omfattar onlineindex och återställningsbara index.
Statistikunderhåll
SQL Server och Azure SQL hanterar statistik på samma sätt. Det finns automatiska statistikalternativ för databaser i båda tjänsterna.
Nu när du har lärt dig några av konfigurations- och underhållsalternativen för prestanda för Azure SQL slutför du följande kunskapstest innan du fortsätter till nästa lektion.