aanbevolen procedures voor SQL server om de prestaties in Azure Stack Hub te optimaliseren
Dit artikel bevat aanbevolen procedures voor SQL server om SQL Server te optimaliseren en de prestaties in Microsoft Azure virtuele machines (VM's) van Stack Hub te verbeteren. Gebruik bij het uitvoeren van SQL Server in Azure Stack Hub-VM's dezelfde opties voor het afstemmen van databaseprestaties die van toepassing zijn op SQL Server in een on-premises serveromgeving. De prestaties van een relationele database in een Azure Stack Hub-cloud zijn afhankelijk van vele factoren, waaronder de familiegrootte van een VIRTUELE machine en de configuratie van de gegevensschijven.
Wanneer u SQL Server installatiekopieën maakt, kunt u overwegen om uw VM's in de Azure Stack Hub-portal in te richten. Download de SQL IaaS-extensie uit Marketplace Management in de Azure Stack Hub-beheerdersportal en download uw keuze uit SQL Server VM-installatiekopieën. Deze omvatten SQL Server 2016 SP1, SQL Server 2016 SP2 en SQL Server 2017.
Notitie
Hoewel in het artikel wordt beschreven hoe u een SQL Server VM inricht met behulp van de globale Azure Portal, zijn de richtlijnen ook van toepassing op Azure Stack Hub met de volgende verschillen: SSD is niet beschikbaar voor de besturingssysteemschijf en er zijn kleine verschillen in de opslagconfiguratie.
In de VM-installatiekopieën kunt u voor SQL Server alleen bring-your-own-license (BYOL) gebruiken. Voor Windows Server is het standaardlicentiemodel betalen per gebruik (PAYG). Raadpleeg het artikel Windows Server in Azure Stack Hub Marketplace voor gedetailleerde informatie over Windows Server-licentiemodel in VM.
Het verkrijgen van de beste prestaties voor SQL Server op Azure Stack Hub-VM's is de focus van dit artikel. Als uw workload minder veeleisend is, hebt u mogelijk niet elke aanbevolen optimalisatie nodig. Houd rekening met uw prestatiebehoeften en workloadpatronen wanneer u deze aanbevelingen evalueert.
Notitie
Raadpleeg dit artikel voor prestatierichtlijnen voor SQL Server in Azure-VM's.
Controlelijst voor aanbevolen procedures voor SQL server
De volgende controlelijst is voor optimale prestaties van SQL Server op Azure Stack Hub-VM's:
| Gebied | Optimalisaties |
|---|---|
| VM-grootte | DS3 of hoger voor SQL Server Enterprise editie. DS2 of hoger voor SQL Server Standard editie en webeditie. |
| Storage | Gebruik een VM-serie die ondersteuning biedt voor Premium opslag. |
| Disks | Gebruik minimaal twee gegevensschijven (één voor logboekbestanden en één voor gegevensbestanden en TempDB) en kies de schijfgrootte op basis van uw capaciteitsbehoeften. Stel de standaardlocaties van het gegevensbestand in op deze schijven tijdens de installatie van de SQL Server. Vermijd het gebruik van een besturingssysteem of tijdelijke schijven voor databaseopslag of logboekregistratie. Stripe meerdere Azure-gegevensschijven om een verhoogde IO-doorvoer te krijgen met behulp van Opslagruimten. Indeling met gedocumenteerde toewijzingsgrootten. |
| I/O | Direct initialiseren van bestanden inschakelen voor gegevensbestanden. Beperk automatische groei van de databases met redelijk kleine vaste stappen (64 MB-256 MB). Schakel autoshrink uit op de database. Standaardlocaties voor back-ups en databasebestanden instellen op gegevensschijven, niet op de besturingssysteemschijf. Vergrendelde pagina's inschakelen. Pas SQL Server servicepacks en cumulatieve updates toe. |
| Functiespecifiek | Maak rechtstreeks een back-up naar blobopslag (indien ondersteund door de SQL Server versie die in gebruik is). |
Raadpleeg de details en richtlijnen in de volgende secties voor meer informatie over hoe en waarom u deze optimalisaties kunt uitvoeren.
Richtlijnen voor VM-grootte
Voor prestatiegevoelige toepassingen worden de volgende VM-grootten aanbevolen:
SQL Server Enterprise editie: DS3 of hoger
SQL Server Standard en webeditie: DS2 of hoger
Met Azure Stack Hub is er geen prestatieverschil tussen de DS- en DS_v2 VM-serie.
Richtlijnen voor Azure Storage
Vm's uit de DS-serie (samen met DSv2-serie) in Azure Stack Hub bieden de maximale doorvoer van besturingssysteemschijven en gegevensschijven (IOPS). Een VM uit de DS- of DSv2-serie biedt maximaal 1000 IOPS voor de besturingssysteemschijf en maximaal 2300 IOPS per gegevensschijf, ongeacht het type of de grootte van de gekozen schijf.
De doorvoer van gegevensschijven wordt uniek bepaald op basis van de serie VM-serie. Raadpleeg dit artikel om de doorvoer van de gegevensschijf per reeks vm-serie te identificeren.
Notitie
Selecteer voor productieworkloads een vm uit de DS-serie of DSv2-serie om de maximaal mogelijke IOPS op de besturingssysteemschijf en gegevensschijven te bieden.
Bij het maken van een opslagaccount in Azure Stack Hub heeft de optie voor geo-replicatie geen effect omdat deze mogelijkheid niet beschikbaar is in Azure Stack Hub.
Richtlijnen voor schijven
Er zijn drie hoofdschijftypen op een Azure Stack Hub-VM:
Besturingssysteemschijf: Wanneer u een Azure Stack Hub-VM maakt, koppelt het platform ten minste één schijf (gelabeld als het C-station ) aan de VM voor de besturingssysteemschijf. Deze schijf is een VHD die is opgeslagen als een pagina-blob in de opslag.
Tijdelijke schijf: Azure Stack Hub-VM's bevatten een andere schijf genaamd de tijdelijke schijf (gelabeld als het D-station ). Dit is een schijf op het knooppunt dat kan worden gebruikt voor scratchruimte.
Gegevensschijven: U kunt extra schijven als gegevensschijven aan uw VIRTUELE machine koppelen en deze schijven worden opgeslagen in de opslag als pagina-blobs.
In de volgende secties worden aanbevelingen beschreven voor het gebruik van deze verschillende schijven.
Besturingssysteemschijf
Een besturingssysteemschijf is een VHD die u kunt opstarten en koppelen als een actieve versie van een besturingssysteem en is gelabeld als C-station .
Tijdelijke schijf
Het tijdelijke opslagstation, gelabeld als het D-station , is niet permanent. Sla geen gegevens op die u niet wilt verliezen op de D-schijf . Dit omvat uw gebruikersdatabasebestanden en logboekbestanden voor gebruikerstransacties.
U wordt aangeraden TempDB op een gegevensschijf op te slaan omdat elke gegevensschijf maximaal 2300 IOPS per gegevensschijf biedt.
Gegevensschijven
- Gegevensschijven gebruiken voor gegevens- en logboekbestanden. Als u geen schijfstriping gebruikt, gebruikt u twee gegevensschijven van een VIRTUELE machine die ondersteuning biedt voor Premium opslag, waarbij de ene schijf de logboekbestanden bevat en de andere de gegevens en TempDB-bestanden bevat. Elke gegevensschijf biedt een aantal IOPS, afhankelijk van de VM-serie, zoals wordt beschreven in VM-grootten die worden ondersteund in Azure Stack Hub. Als u een techniek voor schijfstriping gebruikt, zoals Opslagruimten, plaatst u alle gegevens en logboekbestanden op hetzelfde station (inclusief TempDB). Deze configuratie biedt u het maximum aantal IOPS dat beschikbaar is voor SQL Server te gebruiken, ongeacht welk bestand ze op een bepaald moment nodig heeft.
Notitie
Wanneer u een SQL Server VM inricht in de portal, hebt u de mogelijkheid om uw opslagconfiguratie te bewerken. Afhankelijk van uw configuratie configureert Azure Stack Hub een of meer schijven. Meerdere schijven worden gecombineerd in één opslaggroep. Zowel de gegevens- als logboekbestanden bevinden zich in deze configuratie.
Schijfstriping: Voor meer doorvoer kunt u extra gegevensschijven toevoegen en schijfstriping gebruiken. Als u het aantal benodigde gegevensschijven wilt bepalen, analyseert u het aantal IOPS dat is vereist voor uw logboekbestanden en voor uw gegevens- en TempDB-bestanden. U ziet dat IOPS-limieten per gegevensschijf zijn gebaseerd op de familie van de VM-serie en niet op basis van de VM-grootte. Netwerkbandbreedtelimieten zijn echter gebaseerd op de VM-grootte. Zie de tabellen over VM-grootten in Azure Stack Hub voor meer informatie. Volg de volgende richtlijnen:
Gebruik Opslagruimten voor Windows Server 2012 of hoger met de volgende richtlijnen:
Stel de interleave (stripegrootte) in op 64 kB (65.536 bytes) voor OLTP-workloads (Online Transaction Processing) en 256 kB (262.144 bytes) voor datawarehousingworkloads om prestatie-impact te voorkomen vanwege onjuiste uitlijning van partities. Dit moet worden ingesteld met PowerShell.
Stel het aantal kolommen in = aantal fysieke schijven. Gebruik PowerShell bij het configureren van meer dan acht schijven (niet Serverbeheer UI).
Met de volgende PowerShell wordt bijvoorbeeld een nieuwe opslaggroep gemaakt met de grootte van het interleave-bestand ingesteld op 64 kB en het aantal kolommen op 2:
$PoolCount = Get-PhysicalDisk -CanPool $True $PhysicalDisks = Get-PhysicalDisk | Where-Object {$_.FriendlyName -like "*2" -or $_.FriendlyName -like "*3"} New-StoragePool -FriendlyName "DataFiles" -StorageSubsystemFriendlyName "Storage Spaces*" -PhysicalDisks $PhysicalDisks | New-VirtualDisk -FriendlyName "DataFiles" -Interleave 65536 -NumberOfColumns 2 -ResiliencySettingName simple -UseMaximumSize |Initialize-Disk -PartitionStyle GPT -PassThru |New-Partition -AssignDriveLetter -UseMaximumSize |Format-Volume -FileSystem NTFS -NewFileSystemLabel "DataDisks" -AllocationUnitSize 65536 -Confirm:$false
Bepaal het aantal schijven dat is gekoppeld aan uw opslaggroep op basis van uw belastingswachtingen. Houd er rekening mee dat verschillende VM-grootten verschillende aantallen gekoppelde gegevensschijven toestaan. Zie VM-grootten die worden ondersteund in Azure Stack Hub voor meer informatie.
Om de maximaal mogelijke IOPS voor gegevensschijven te verkrijgen, wordt aangeraden het maximum aantal gegevensschijven toe te voegen dat wordt ondersteund door uw VM-grootte en schijfstriping te gebruiken.
Grootte van NTFS-toewijzingseenheid: Bij het opmaken van de gegevensschijf raden we u aan een toewijzingseenheid van 64 kB te gebruiken voor gegevens- en logboekbestanden en TempDB.
Methoden voor schijfbeheer: Wanneer u een gegevensschijf verwijdert, stopt u de SQL Server-service tijdens de wijziging. Wijzig ook geen cache-instellingen op de schijven omdat deze geen prestatieverbeteringen biedt.
Waarschuwing
Het stoppen van de SQL Service tijdens deze bewerkingen kan leiden tot beschadiging van de database.
I/O-richtlijnen
Overweeg direct initialisatie van bestanden in te schakelen om de tijd te verkorten die nodig is voor de initiële bestandstoewijzing. Als u wilt profiteren van instant bestandsinitialisatie, verleent u het serviceaccount van de SQL Server (MSSQLSERVER) met SE_MANAGE_VOLUME_NAME en voegt u dit toe aan het beveiligingsbeleid Volumeonderhoudstaken uitvoeren. Als u een SQL Server platforminstallatiekopieën voor Azure gebruikt, wordt het standaardserviceaccount (NT Service\MSSQLSERVER) niet toegevoegd aan het beveiligingsbeleid Volumeonderhoudstaken uitvoeren. Met andere woorden, direct initialiseren van bestanden is niet ingeschakeld in een SQL Server Azure-platforminstallatiekopieën. Nadat u het SQL Server-serviceaccount hebt toegevoegd aan het beveiligingsbeleid Volumeonderhoudstaken uitvoeren, start u de SQL Server-service opnieuw. Er kunnen beveiligingsoverwegingen zijn voor het gebruik van deze functie. Zie Initialisatie van databasebestand voor meer informatie.
Autogrow is een onvoorziene gebeurtenis voor onverwachte groei. Beheer uw gegevens en logboekgroei niet op dagelijkse basis met automatische groei. Als automatisch groeien wordt gebruikt, moet u het bestand vooraf laten groeien met de schakeloptie Grootte .
Zorg ervoor dat autoshrink is uitgeschakeld om onnodige overhead te voorkomen die de prestaties negatief kan beïnvloeden.
Standaardlocaties voor back-ups en databasebestanden instellen. Gebruik de aanbevelingen in dit artikel en breng de wijzigingen aan in het venster Servereigenschappen. Zie De standaardlocaties voor gegevens- en logboekbestanden (SQL Server Management Studio) weergeven of wijzigen voor instructies. In de volgende schermopname ziet u waar u deze wijzigingen kunt aanbrengen:

Schakel vergrendelde pagina's in om io- en pagingactiviteiten te verminderen. Zie De optie Pagina's vergrendelen in geheugen inschakelen (Windows) voor meer informatie.
Overweeg om gegevensbestanden te comprimeren wanneer u Azure Stack Hub overdraagt, inclusief back-ups.
Functiespecifieke richtlijnen
Sommige implementaties kunnen extra prestatievoordelen opleveren met behulp van geavanceerdere configuratietechnieken. De volgende lijst bevat enkele SQL Server functies die u kunnen helpen betere prestaties te bereiken:
Maak een back-up vanAzureStorage. Wanneer u back-ups maakt voor SQL Server die worden uitgevoerd in Azure Stack Hub-VM's, kunt u SQL Server Backup naar URL gebruiken. Deze functie is beschikbaar vanaf SQL Server 2012 SP1 CU2 en wordt aanbevolen om een back-up te maken van de gekoppelde gegevensschijven.
Wanneer u een back-up maakt of herstelt met behulp van Azure Storage, volgt u de aanbevelingen in SQL Server Backup aanbevolen procedures voor URL's en probleemoplossing en herstellen van back-ups die zijn opgeslagen in Microsoft Azure. U kunt deze back-ups ook automatiseren met behulp van geautomatiseerde Backup voor SQL Server in Azure-VM's.
Maak een back-up van Azure Stack Hub-opslag. U kunt op een vergelijkbare manier een back-up maken van Azure Stack Hub-opslag als met back-ups tot Azure Storage. Wanneer u een back-up maakt in SQL Server Management Studio (SSMS), moet u de configuratiegegevens handmatig invoeren. U kunt SSMS niet gebruiken om de opslagcontainer of de Shared Access Signature te maken. SSMS maakt alleen verbinding met Azure-abonnementen, niet met Azure Stack Hub-abonnementen. In plaats daarvan moet u het opslagaccount, de container en de Shared Access Signature maken in de Azure Stack Hub-portal of met PowerShell.

Notitie
Shared Access Signature is het SAS-token uit de Azure Stack Hub-portal, zonder de voorloop '?' in de tekenreeks. Als u de kopieerfunctie uit de portal gebruikt, moet u de voorloopfunctie '?' verwijderen om binnen SQL Server te kunnen werken.
Zodra u de Backup Bestemming hebt ingesteld en geconfigureerd in SQL Server, kunt u vervolgens een back-up maken van de Azure Stack Hub-blobopslag.