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:

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 Lagringfliken 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.

Screenshot that highlights the SQL Server settings tab and the Change configuration option.

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.

Screenshot from the Azure portal of the SQL Server VM Storage Configuration page during provisioning.

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.

Screenshot that shows where you can configure the tempdb storage for your SQL VM.

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.

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.

Screenshot that highlights the Configure option and the Storage Usage section.

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.

A screenshot from the Azure portal showing the Extend Data drive page, used to configure storage for an existing SQL Server VM.

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 Lagringspriserfliken 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:

  1. Stoppa SQL Server-tjänsten.

  2. Logga in på Azure-portalen.

  3. Gå till den virtuella datorn och välj Diskar under Inställningar.

    Screenshot showing the VM disk configuration blade in the Azure portal.

  4. Välj lämplig cachelagringsprincip för disken i listrutan.

    Screenshot showing the disk caching policy configuration in the Azure portal.

  5. 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:

  1. Stoppa SQL Server-tjänsten. Om diskarna är randiga stänger du av den virtuella datorn.

  2. Logga in på Azure-portalen.

  3. Gå till den virtuella datorn och välj Diskar under Inställningar.

    Screenshot showing the VM disk configuration blade in the Azure portal.

  4. Välj cachealternativet med Skrivaccelerator för disken i listrutan.

    Screenshot showing the write accelerator cache policy.

  5. 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:

    1. 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.

    2. 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 -StorageSubsystemFriendlyNameWindows 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.