Dela via


Konfigurera lagring för SQL Server på virtuella Azure-datorer

Gäller för:SQL Server på en virtuell Azure-dator

I den här artikeln får du lära dig hur du konfigurerar lagringen för din SQL Server på virtuella Azure-datorer (VM) som distribueras via Azure Marketplace med premium-SSD.

Virtuella SQL Server-datorer som distribueras via Azure Marketplace-avbildningar följer automatiskt standardmetoderna för lagring som kan ändras under distributionen. Vissa av dessa konfigurationsinställningar kan ändras efter distributionen.

Varning

Det går inte att placera tempdb på den lokala temporära disken för virtuella Azure-avbildningar med oinitierade efemära diskar. Distributioner via Azure-portalen kan misslyckas och SQL Server kan misslyckas med att starta. Använd antingen en annan VM-storlek eller placera tempdb på icke-tillfällig lagring både när du distribuerar SQL Server-avbildningen via Azure-portalen och när du installerar SQL Server manuellt. För att lära dig mer, granska VM-distribution och SQL Server-fel.

Förutsättningar

Om du vill använda konfigurationsinställningarna för automatiserad lagring kräver den virtuella datorn följande egenskaper:

Anmärkning

Den här artikeln gäller endast för SQL Server på virtuella Azure-datorer med Premium Storage, inte Premium SSD v2-lagring.

Nya virtuella datorer

I följande avsnitt beskrivs hur du konfigurerar lagring för nya virtuella SQL Server-datorer.

Azure-portalen

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.

Skärmbild som visar fliken SQL Server-inställningar och alternativet Ändra konfiguration.

Anmärkning

Om du har valt en vm-storlek som stöds kan du använda Premium SSD v2, vilket ger dig detaljerad kontroll över diskstorlek, IOPS och dataflöde.

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.

Skärmbild från Azure-portalen på sidan SQL Server VM Storage Configuration under etableringen.

Diskkonfigurationen är helt anpassningsbar så att du kan konfigurera lagringstopologin, disktypen och IOPS som du behöver för din SQL Server VM-arbetsbelastning. Du kan också använda Ultradisk som ett alternativ för disktypen om din virtuella SQL Server-dator finns i en av de regioner som stöds och du har aktiverat ultradiskar för din prenumeration.

Konfigurera databasinställningarna tempdb under TempDb-lagring, till exempel platsen för databasfilerna, antalet filer, den initiala storleken och storleken för 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å D: lokal SSD-volym enligt rekommendationerna hanterar SQL IaaS Agent-tillägget de mappar och behörigheter som krävs vid ometablering. Den här konfigurationen kräver inte att du skapar den virtuella SQL-datorn med en avbildning från Azure Marketplace.

Skärmbild som visar var du kan konfigurera tempdb-lagringen för din virtuella SQL-dator.

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 betydligt snabbare än läsningar från en datadisk, som kommer från Azure Blob Storage. Premium Storage räknar inte de läsningar som hanteras från cachen mot diskens IOPS och dataflöde. Därför kan din applikation uppnå högre total IOPS och genomströmning.

  • 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 ska 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-blobcachen och fördröjningar ökar något om skrivningar går igenom ReadOnly-blobcachelagren.

    Tips/Råd

    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 varningen: 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. Den här varningen stoppar inte tillhandahållandet.

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.

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.

Snabbstartmall

Du kan använda följande snabbstartsmall för att distribuera en virtuell SQL Server-dator med hjälp av lagringsoptimering.

Anmärkning

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

Anmärkning

Lagring kan bara konfigureras för virtuella SQL Server-datorer som har distribuerats från en SQL Server-avbildning på Azure Marketplace och som för närvarande inte stöds för Premium SSD v2-diskar . Om du vill ändra diskkonfigurationer på en virtuell Azure-dator med självinstallerad SQL Server använder du fönstret Diskar.

Ändra befintliga enheter

För befintliga virtuella SQL Server-datorer som har distribuerats via Azure Marketplace kan du ändra vissa lagringsinställningar i Azure-portalen via resursen för virtuella SQL-datorer eller i fönstret Diskar.

Om du vill ändra lagringsinställningarna öppnar du resursen för virtuella SQL-datorer och väljer Lagringskonfiguration under Inställningar, där du kan:

  • Lägga till ytterligare diskar
  • Konfigurera eller expandera befintliga diskar

Skärmbild som visar alternativet Konfigurera och avsnittet Lagringsanvändning.

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å lägga till diskar via fönstret Diskar.

En skärmbild från Azure-portalen som visar sidan Utöka dataenhet som används för att konfigurera lagring för en befintlig virtuell SQL Server-dator.

Om du redan har nått maximalt antal diskar som stöds för en viss VM-storlek kan du behöva ändra storlek på den virtuella datorn.

När du utökar en lagringspool för en virtuell SQL Server-dator med hjälp av Azure-portalen tillämpar SQL IaaS Agent-tillägget ett minimikrav för disktillägg baserat på antalet kolumner som konfigurerats i den ursprungliga lagringspoolen. Det här kolumnantalet motsvarar antalet datadiskar som etablerades under den första distributionen. Om lagringspoolen till exempel skapades med fyra Premium SSD-diskar måste eventuell efterföljande expansion innehålla minst fyra ytterligare diskar för att upprätthålla integritets- och prestandaegenskaperna för den randiga lagringskonfigurationen.

Ändra tempdb

Det går också att ändra tempdb inställningarna med hjälp av lagringskonfigurationssidan , till exempel antalet tempdb filer, den ursprungliga storleken och förhållandet för automatisk inväxt. Välj Konfigurera bredvid för att tempdb öppna sidan tempdb-konfiguration .

Välj Ja bredvid Konfigurera tempdb-datafiler för att ändra inställningarna och välj sedan Ja bredvid Hantera tempdb-databasmappar vid omstart så att Azure kan hantera din tempdb konfiguration, mapp och behörighet nästa gång SQL Server-tjänsten startar. Den här konfigurationen kräver inte att du skapar den virtuella SQL-datorn med en avbildning från Azure Marketplace.

Skärmbild av sidan tempdb-konfiguration i Azure-portalen från resurssidan för virtuella SQL-datorer.

Starta om SQL Server-tjänsten om du vill tillämpa ändringarna.

Öka den tillfälliga diskstorleken

Om du vill öka den tillfälliga diskstorleken ändrar du storlek på den virtuella datorn till en SKU som har stöd för en högre diskstorlek för tillfällig lagring.

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 den här artikeln innehåller information om konfiguration av lagringspooler.
  • Automatisk lagringskonfiguration använder alltid Premium SSD P30-datadiskar. Så det finns 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
Stripe-storlek 64 KB
Diskstorlekar 1 TB vardera
Cache Läs
Allokeringsstorlek Allokeringsenhetstorlek för NTFS på 64 KB
Recovery Enkel återställningsprocess (ingen resiliens)
Antal kolumner Antal datadiskar upp till 81

1 När lagringspoolen har skapats kan du inte ändra antalet kolumner i lagringspoolen.

Anmärkning

Använd Optimize-StoragePool och Optimize-Volume för att balansera om utrymmesallokeringen i en pool och optimera prestanda för arbetsbelastningstyper som har slumpmässigt djupt köade I/O-mönster.

Aktivera cachelagring

För Premium SSD kan du ä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.

    Skärmbild som visar konfigurationsfönstret för den virtuella datorns disk i Azure-portalen.

  4. Välj lämplig cachelagringsprincip för disken i listrutan – antingen Skrivskyddad eller Ingen.

    Skärmbild som visar principkonfigurationen för diskcachelagring i Azure-portalen.

  5. När ändringen börjar gälla startar du om den virtuella SQL Server-datorn och startar SQL Server-tjänsten.

Aktivera skrivningsaccelerator

Write Accelerator ä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.

Innan du aktiverar Write Accelerator granskar du några av begränsningarna för att bekräfta att de är acceptabla för ditt företag.

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.

    Skärmbild som visar konfigurationsfönstret för den virtuella datorns disk i Azure-portalen.

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

    Skärmbild som visar cacheprincipen för skrivacceleratorn.

  5. När ändringen börjar gälla startar du den virtuella datorn och SQL Server-tjänsten.

Diskstrypning

Om du vill ha högre dataflöde kan du lägga till ytterligare datadiskar och använda diskstrypning. 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. Mellanlagringsstorleken måste anges med PowerShell.

    2. Ange kolumnantal = antal fysiska diskar. Använd PowerShell när du konfigurerar fler än 8 diskar (inte serverhanterarens användargränssnitt).

Följande PowerShell-kommandon skapar till exempel en ny lagringspool med mellanlagringsstorleken inställd på 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>

Kända problemområden

Alternativet Diskkonfiguration eller panelen Lagringskonfiguration på SQL-resursen för virtuella datorer är nedtonat

Lagringssidan kan vara nedtonad i resursfönstret för virtuella SQL-datorer i Azure-portalen av följande skäl:

  • SQL IaaS-agenttillägget är i ett feltillstånd. Ta bort och registrera sedan den virtuella SQL Server-datorn med tillägget igen.
  • Du har anpassat lagringspoolen.
  • Du använder en avbildning som inte kommer från Azure Marketplace.
  • Du skapade den virtuella datorn med ohanterade diskar. Endast hanterade diskar stöds.

Alternativet Utöka disk är nedtonat

Alternativet Utöka disk kan vara nedtonat av följande skäl:

  • Du har anpassat lagringspoolen. Om du behöver utöka disken lägger du till diskar i lagringspoolen för att förstora den virtuella disken.
  • Du har ändrat de virtuella disk- eller volymnamnen från deras standardvärden:
    • Namngivning av lagringspool: SQLVMStoragePool1, SQLVMStoragePool2, SQLVMStoragePool3
    • Virtuell disk: SQLVMVirtualDisk1, SQLVMVirtualDisk2, SQLVMVirtualDisk3
    • Volymer: SQLVMDATA1, SQLVMLOG och SQLVMTEMPDB
  • Du har installerat ett Windows-kluster på din virtuella SQL Server-dator, så att utöka diskar stöds inte.

Jag har en disk med 1 TB ledigt utrymme som jag inte kan ta bort från en lagringspool

Det finns inget alternativ för att ta bort det oallokerade utrymmet från en disk som tillhör en lagringspool.

Min transaktionslogg är full

Granska Felsöka en fullständig transaktionslogg om loggen har blivit full.

Det går inte att konfigurera lagring med resursen för virtuella SQL-datorer

Fönstret Lagringskonfiguration för resursen för virtuella SQL-datorer i Azure-portalen kan vara otillgänglig, nedtonad eller välja Utöka diskar gör ingenting i följande scenarier:

  • Virtuella datorer med självinstallerade SQL Server-instanser. För närvarande stöds endast SQL Server VM-avbildningar från Azure Marketplace.
  • Virtuella SQL Server-datorer med Premium SSDv2. För närvarande stöds endast virtuella SQL Server-datorer med Premium SSD.
  • TCP/IP är inaktiverat i SQL Server Configuration Manager.