Konfigurera lagring för virtuella SQL Server-datorer
Gäller för:SQL Server på en virtuell Azure-dator
I den här artikeln lär du dig hur du konfigurerar din lagring för SQL Server på virtuella Azure-datorer (VM).
Virtuella SQL Server-datorer som distribueras via Marketplace-avbildningar följer automatiskt standardmetoder för lagring som kan ändras under distributionen. Vissa av dessa konfigurationsinställningar kan ändras efter distributionen.
Förutsättningar
Om du vill använda konfigurationsinställningarna för automatiserad lagring kräver den virtuella datorn följande egenskaper:
- Etablerad med en SQL Server-galleribild.
- Använder Resource Manager-distributionsmodellen.
- Använder premium-SSD:er.
Nya virtuella datorer
I följande avsnitt beskrivs hur du konfigurerar lagring för nya virtuella SQL Server-datorer.
Azure Portal
När du etablerar en virtuell Azure-dator med en SQL Server-galleriavbildning väljer du Ändra konfiguration under Lagring på fliken SQL Server Inställningar för att öppna sidan Konfigurera lagring. Du kan antingen lämna värdena som standard eller ändra den typ av diskkonfiguration som bäst passar dina behov baserat på din arbetsbelastning.
Välj enhetens plats för dina datafiler och loggfiler, ange disktyp och antal diskar. Använd IOPS-värdena för att fastställa den bästa lagringskonfigurationen för att uppfylla dina affärsbehov. Om du väljer Premium Storage anges cachelagringen till ReadOnly för dataenheten och Ingen för loggenheten enligt metodtips för prestanda för virtuella SQL Server-datorer.
Diskkonfigurationen är helt anpassningsbar så att du kan konfigurera lagringstopologin, disktypen och IOP:erna som du behöver för din SQL Server VM-arbetsbelastning. Du kan också använda UltraSSD (förhandsversion) som ett alternativ för disktypen om din virtuella SQL Server-dator finns i en av de regioner som stöds (USA, östra 2, Asien, södra och Europa, norra) och du har aktiverat ultradiskar för din prenumeration.
Konfigurera databasinställningarna tempdb
under TempDb-lagring, till exempel platsen för databasfilerna, samt antalet filer, initial storlek och automatisk storlek i MB.
- För närvarande är det maximala antalet
tempdb
filer 8 under distributionen, men fler filer kan läggas till när den virtuella SQL Server-datorn har distribuerats. - Om du konfigurerar SQL Server-instansen
tempdb
på den lokala SSD-volymen D: enligt rekommendationerna hanterar SQL IaaS Agent-tillägget de mappar och behörigheter som krävs vid ometablering. Detta kräver inte att du har skapat den virtuella SQL-datorn med en avbildning från Azure Marketplace.
Dessutom har du möjlighet att ange cachelagring för diskarna. Virtuella Azure-datorer har en cachelagringsteknik på flera nivåer som kallas Blob Cache när de används med Premium-diskar. Blob Cache använder en kombination av RAM-minnet för virtuell dator och lokal SSD för cachelagring.
Diskcachelagring för Premium SSD kan vara ReadOnly, ReadWrite eller None.
ReadOnly-cachelagring är mycket fördelaktigt för SQL Server-datafiler som lagras på Premium Storage. ReadOnly-cachelagring ger låg läsfördröjning, hög läs-IOPS och dataflöde eftersom läsningar utförs från cacheminnet, som finns i den virtuella datorns minne och lokala SSD. Dessa läsningar är mycket snabbare än läsningar från datadisken, som kommer från Azure Blob Storage. Premium Storage räknar inte de läsningar som hanteras från cacheminnet mot diskens IOPS och dataflöde. Därför kan ditt tillämpliga objekt uppnå högre total IOPS och dataflöde.
Ingen cachekonfiguration ska användas för de diskar som är värdar för SQL Server-loggfilen eftersom loggfilen skrivs sekventiellt och inte drar nytta av ReadOnly-cachelagring .
ReadWrite-cachelagring bör inte användas som värd för SQL Server-filer eftersom SQL Server inte stöder datakonsekvens med ReadWrite-cachen . Skrivavfallskapaciteten för ReadOnly-blobcache och svarstider ökar något om skrivningar går igenom ReadOnly-blobcachelagren .
Dricks
Se till att lagringskonfigurationen matchar de begränsningar som den valda VM-storleken medför. Om du väljer lagringsparametrar som överskrider prestandataket för vm-storleken visas en varning:
The desired performance might not be reached due to the maximum virtual machine disk performance cap
. Minska antingen IOPs genom att ändra disktyp eller öka begränsningen för prestandataket genom att öka storleken på den virtuella datorn. Detta kommer inte att stoppa etableringen.
Baserat på dina val utför Azure följande lagringskonfigurationsuppgifter när du har skapat den virtuella datorn:
- Skapar och kopplar Premium SSD:er till den virtuella datorn.
- Konfigurerar att datadiskarna ska vara tillgängliga för SQL Server.
- Konfigurerar datadiskarna till en lagringspool baserat på de angivna kraven på storlek och prestanda (IOPS och dataflöde).
- Associerar lagringspoolen med en ny enhet på den virtuella datorn.
- Optimerar den här nya enheten baserat på din angivna arbetsbelastningstyp (datalagerhantering, transaktionsbearbetning eller Allmänt).
En fullständig genomgång av hur du skapar en virtuell SQL Server-dator i Azure-portalen finns i självstudien om etablering.
Resource Manager-mallar
Om du använder följande Resource Manager-mallar är två Premium-datadiskar anslutna som standard, utan konfiguration av lagringspoolen. Du kan dock anpassa dessa mallar för att ändra antalet Premium-datadiskar som är anslutna till den virtuella datorn.
- Skapa en virtuell dator med automatisk säkerhetskopiering
- Skapa en virtuell dator med automatiserad korrigering
- Skapa en virtuell dator med AKV-integrering
Snabbstartsmall
Du kan använda följande snabbstartsmall för att distribuera en virtuell SQL Server-dator med hjälp av lagringsoptimering.
Kommentar
Vissa VM-storlekar kanske inte har tillfällig eller lokal lagring. Om du distribuerar en SQL Server på en virtuell Azure-dator utan tillfällig lagring tempdb
placeras data och loggfiler i datamappen.
Befintliga virtuella datorer
För befintliga virtuella SQL Server-datorer kan du ändra vissa lagringsinställningar i Azure-portalen. Öppna resursen för virtuella SQL-datorer och välj Översikt. Sidan Översikt över SQL Server visar den aktuella lagringsanvändningen för den virtuella datorn. Alla enheter som finns på den virtuella datorn visas i det här diagrammet. För varje enhet visas lagringsutrymmet i fyra avsnitt:
- SQL-data
- SQL-logg
- Övrigt (icke-SQL-lagring)
- Tillgängligt
Om du vill ändra lagringsinställningarna väljer du Lagringskonfiguration under Inställningar.
Du kan ändra diskinställningarna för de enheter som konfigurerades under processen för att skapa virtuella SQL Server-datorer. Om du väljer Konfigurera öppnas sidan Utöka dataenhet så att du kan ändra disktyp och lägga till ytterligare diskar.
Du kan också konfigurera inställningarna för tempdb
direkt från Azure-portalen, till exempel antalet datafiler, deras ursprungliga storlek och autogrowth-förhållandet. Mer information finns i konfigurera tempdb.
Automatiserade ändringar
Det här avsnittet innehåller en referens för de ändringar i lagringskonfigurationen som Azure utför automatiskt under etablering eller konfiguration av virtuella SQL Server-datorer i Azure-portalen.
- Azure konfigurerar en lagringspool från lagring som valts från den virtuella datorn. Nästa avsnitt i det här avsnittet innehåller information om konfiguration av lagringspooler.
- Automatisk lagringskonfiguration använder alltid Premium SSD P30-datadiskar. Det finns därför en 1:1-mappning mellan det valda antalet Terabyte och antalet datadiskar som är anslutna till den virtuella datorn.
Prisinformation finns på sidan Lagringspriser på fliken Disklagring .
Skapa lagringspoolen
Azure använder följande inställningar för att skapa lagringspoolen på virtuella SQL Server-datorer.
Inställning | Värde |
---|---|
Randstorlek | 256 KB (informationslager); 64 KB (transaktionell) |
Diskstorlekar | 1 TB vardera |
Cache | Läsa |
Allokeringsstorlek | Storlek på 64 KB NTFS-allokeringsenhet |
Återställning | Enkel återställning (ingen återhämtning) |
Antal kolumner | Antal datadiskar upp till 81 |
1 När lagringspoolen har skapats kan du inte ändra antalet kolumner i lagringspoolen.
Inställningar för optimering av arbetsbelastningar
I följande tabell beskrivs de tre tillgängliga alternativen för arbetsbelastningstyp och deras motsvarande optimeringar:
Typ av arbetsbelastning | beskrivning | Optimeringar |
---|---|---|
Allmänt | Standardinställning som stöder de flesta arbetsbelastningar | Ingen |
Transaktionsbearbetning | Optimerar lagringen för traditionella OLTP-arbetsbelastningar för databaser | Spårningsflagga 1117 Spårningsflagga 1118 |
Datalagerhantering | Optimerar lagringen för analys- och rapporteringsarbetsbelastningar | Spårningsflagga 610 Spårningsflagga 1117 |
Kommentar
Du kan bara ange arbetsbelastningstypen när du etablerar en virtuell SQL Server-dator genom att välja den i lagringskonfigurationssteget.
Aktivera cachelagring
Ändra cachelagringsprincipen på disknivå. Du kan göra det med hjälp av Azure-portalen, PowerShell eller Azure CLI.
Följ dessa steg om du vill ändra cachelagringsprincipen i Azure-portalen:
Stoppa SQL Server-tjänsten.
Logga in på Azure-portalen.
Gå till den virtuella datorn och välj Diskar under Inställningar.
Välj lämplig cachelagringsprincip för disken i listrutan.
När ändringen börjar gälla startar du om den virtuella SQL Server-datorn och startar SQL Server-tjänsten.
Aktivera skrivningsaccelerator
Skrivacceleration är en diskfunktion som endast är tillgänglig för virtuella datorer i M-serien (VM). Syftet med skrivacceleration är att förbättra I/O-svarstiden för skrivningar mot Azure Premium Storage när du behöver ensiffrig I/O-svarstid på grund av viktiga OLTP-arbetsbelastningar eller informationslagermiljöer med hög volym.
Stoppa all SQL Server-aktivitet och stäng av SQL Server-tjänsten innan du gör ändringar i din policy för skrivacceleration.
Om diskarna är randiga aktiverar du Skrivacceleration för varje disk individuellt och den virtuella Azure-datorn bör stängas av innan du gör några ändringar.
Följ dessa steg för att aktivera skrivacceleration med hjälp av Azure-portalen:
Stoppa SQL Server-tjänsten. Om diskarna är randiga stänger du av den virtuella datorn.
Logga in på Azure-portalen.
Gå till den virtuella datorn och välj Diskar under Inställningar.
Välj cachealternativet med Skrivaccelerator för disken i listrutan.
När ändringen börjar gälla startar du den virtuella datorn och SQL Server-tjänsten.
Disklistning
Om du vill ha mer dataflöde kan du lägga till ytterligare datadiskar och använda disklistning. För att fastställa antalet datadiskar analyserar du det dataflöde och den bandbredd som krävs för dina SQL Server-datafiler, inklusive loggen och tempdb
. Dataflödes- och bandbreddsgränserna varierar beroende på vm-storlek. Mer information finns i VM-storlek
För Windows 8/Windows Server 2012 eller senare använder du Lagringsutrymmen med följande riktlinjer:
Ange interleave (randstorlek) till 64 KB (65 536 byte) för att undvika prestandapåverkan på grund av partitionsfeljustering. Detta måste anges med PowerShell.
Ange kolumnantal = antal fysiska diskar. Använd PowerShell när du konfigurerar fler än 8 diskar (inte Serverhanteraren användargränssnittet).
Följande PowerShell skapar till exempel en ny lagringspool med mellanlagringsstorleken till 64 KB och antalet kolumner som motsvarar mängden fysisk disk i lagringspoolen:
$PhysicalDisks = Get-PhysicalDisk | Where-Object {$_.FriendlyName -like "*2" -or $_.FriendlyName -like "*3"}
New-StoragePool -FriendlyName "DataFiles" -StorageSubsystemFriendlyName "Windows Storage on <VM Name>" `
-PhysicalDisks $PhysicalDisks | New-VirtualDisk -FriendlyName "DataFiles" `
-Interleave 65536 -NumberOfColumns $PhysicalDisks.Count -ResiliencySettingName simple `
-UseMaximumSize |Initialize-Disk -PartitionStyle GPT -PassThru |New-Partition -AssignDriveLetter `
-UseMaximumSize |Format-Volume -FileSystem NTFS -NewFileSystemLabel "DataDisks" `
-AllocationUnitSize 65536 -Confirm:$false
I Windows Server 2016 och senare är standardvärdet för -StorageSubsystemFriendlyName
Windows Storage on <VM Name>
För Windows 2008 R2 eller tidigare kan du använda dynamiska diskar (OS-randiga volymer) och randstorleken är alltid 64 KB. Det här alternativet är inaktuellt från och med Windows 8/Windows Server 2012. Mer information finns i supportmeddelandet på Virtual Disk Service håller på att övergå till Windows Storage Management API.
Om du använder Lagringsdirigering (S2D) med SQL Server-redundansklusterinstanser måste du konfigurera en enda pool. Även om olika volymer kan skapas i den enskilda poolen, delar de alla samma egenskaper, till exempel samma cachelagringsprincip.
Fastställa antalet diskar som är associerade med lagringspoolen baserat på dina belastningsförväntningar. Tänk på att olika VM-storlekar tillåter olika antal anslutna datadiskar. Mer information finns i Storlekar för virtuella datorer.
Kända problem
Alternativet Konfigurera disk eller bladet Lagringskonfiguration på sql-resursen för virtuella datorer är nedtonat
Bladet Lagringskonfiguration kan vara nedtonat i Azure-portalen om sql IaaS-agenttillägget är i ett misslyckat tillstånd. Reparera SQL IaaS Agent-tillägget.
Konfigurera på bladet Lagringskonfiguration kan nedtonas om du har anpassat lagringspoolen eller om du använder en avbildning som inte är från Marketplace.
Jag har en disk med 1 TB ej allokerat utrymme som jag inte kan ta bort från lagringspoolen
Det finns inget alternativ för att ta bort det ej allokerade utrymmet från en disk som tillhör en lagringspool.