Delen via


Aanbevolen procedures voor SQL Server voor het optimaliseren van de prestaties in Azure Stack Hub

Dit artikel bevat aanbevolen procedures voor SQL Server voor het optimaliseren van SQL Server en het verbeteren van de prestaties in virtuele machines (VM's) van Microsoft Azure Stack Hub. 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 veel factoren, waaronder de familiegrootte van een VM 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 via Marketplace Management in de Azure Stack Hub-beheerportal 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 Veelgestelde vragen over Windows Server in Azure Stack Hub Marketplace voor gedetailleerde informatie over het Windows Server-licentiemodel in de 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 bij het evalueren van deze aanbevelingen.

Notitie

Raadpleeg dit artikel voor prestatierichtlijnen voor SQL Server in Azure-VM's.

Controlelijst voor best practices 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 gegevensbestanden 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.

Opmaak met gedocumenteerde toewijzingsgrootten.
I/O Schakel Instant File Initialization in voor gegevensbestanden.

Beperk de automatische groei van de databases met redelijk kleine vaste stappen (64 MB-256 MB).

Schakel autoshrink uit voor de database.

Standaardlocaties voor back-ups en databasebestanden instellen op gegevensschijven, niet op de schijf van het besturingssysteem.

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 wordt gebruikt).

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 de DSv2-serie) in Azure Stack Hub bieden de maximale doorvoer van de besturingssysteemschijf en gegevensschijf (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 de gegevensschijf wordt uniek bepaald op basis van de REEKS VM's. Raadpleeg dit artikel om de doorvoer van de gegevensschijf per VM-serie te identificeren.

Notitie

Voor productieworkloads selecteert u 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 schijf van uw besturingssysteem. 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 met de naam de tijdelijke schijf (gelabeld als het D-station ). Dit is een schijf op het knooppunt die kan worden gebruikt voor scratchruimte.

  • Gegevensschijven: U kunt extra schijven aan uw virtuele machine koppelen als gegevensschijven. Deze schijven worden in de opslag opgeslagen 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 die 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 station D . 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 VM die Premium-opslag ondersteunt, 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-familie, zoals beschreven in VM-grootten die worden ondersteund in Azure Stack Hub. Als u een methode voor schijfstriping gebruikt, zoals Opslagruimten, plaatst u alle gegevens en logboekbestanden op hetzelfde station (inclusief TempDB). Deze configuratie biedt u het maximale aantal IOPS dat beschikbaar is voor SQL Server om te gebruiken, ongeacht welk bestand ze op een bepaald moment nodig heeft.

Notitie

Wanneer u een SQL Server VM in de portal inricht, 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 de logboekbestanden bevinden zich samen in deze configuratie.

  • Schijfstriping: Voor meer doorvoer kunt u extra gegevensschijven toevoegen en schijfstriping gebruiken. Als u het aantal gegevensschijven wilt bepalen dat u nodig hebt, 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 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:

    • Voor Windows Server 2012 of hoger gebruikt u Opslagruimten met de volgende richtlijnen:

      1. Stel de interleave (stripegrootte) in op 64 kB (65.536 bytes) voor OLTP-workloads (Online Transaction Processing) en 256 kB (262.144 bytes) voor datawarehousingsworkloads om te voorkomen dat de prestaties worden beïnvloed door onjuiste uitlijning van de partitie. Dit moet worden ingesteld met PowerShell.

      2. Aantal kolommen instellen = aantal fysieke schijven. Gebruik PowerShell bij het configureren van meer dan acht schijven (niet Serverbeheer gebruikersinterface).

        De volgende PowerShell maakt bijvoorbeeld een nieuwe opslaggroep met de interleavegrootte 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 belastings verwachtingen. 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 u 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 formatteren van de gegevensschijf raden we u aan een toewijzingseenheidgrootte van 64 kB te gebruiken voor gegevens- en logboekbestanden en TempDB.

  • Procedures 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 niet stoppen van de SQL-service tijdens deze bewerkingen kan leiden tot beschadiging van de database.

I/O-richtlijnen

  • Overweeg om directe bestands initialisatie in te schakelen om de tijd te verkorten die nodig is voor de eerste bestandstoewijzing. Als u wilt profiteren van directe bestands initialisatie, verleent u het serviceaccount 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, directe bestands initialisatie 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.

  • Automatische groei is een onverwachte groei. Beheer uw gegevens en logboekgroei niet dagelijks met automatische groei. Als automatische groei wordt gebruikt, vergroot u het bestand vooraf met behulp van de schakeloptie Grootte .

  • Zorg ervoor dat autoshrink is uitgeschakeld om onnodige overhead te voorkomen die de prestaties negatief kan beïnvloeden.

  • Standaardlocaties voor back-up- 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:

    De standaardlocaties weergeven of wijzigen

  • Schakel vergrendelde pagina's in om I/O en eventuele pagingactiviteiten te verminderen. Zie De optie Pagina's vergrendelen in geheugen inschakelen (Windows) voor meer informatie.

  • Overweeg om gegevensbestanden te comprimeren bij het in-/uitzetten van Azure Stack Hub, inclusief back-ups.

Functiespecifieke richtlijnen

Sommige implementaties kunnen extra prestatievoordelen opleveren met behulp van geavanceerdere configuratietechnieken. In de volgende lijst vindt u enkele SQL Server functies die u kunnen helpen betere prestaties te bereiken:

  • Back-up maken naar AzureStorage. Wanneer u back-ups maakt voor SQL Server die worden uitgevoerd in Azure Stack Hub-VM's, kunt u SQL Server Back-up naar URL gebruiken. Deze functie is beschikbaar vanaf SQL Server 2012 SP1 CU2 en wordt aanbevolen voor het maken van back-ups op de gekoppelde gegevensschijven.

    Wanneer u een back-up maakt of herstelt met behulp van Azure Storage, volgt u de aanbevelingen in SQL Server Back-up naar URL best practices en probleemoplossing enherstel van back-ups die zijn opgeslagen in Microsoft Azure. U kunt deze back-ups ook automatiseren met behulp van Automatische back-up voor SQL Server in Azure-VM's.

  • Back-up maken naar Azure Stack Hub-opslag. U kunt op dezelfde manier een back-up maken naar Azure Stack Hub-opslag als bij het maken van back-ups naar 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.

    back-up van SQL Server

    Notitie

    De Shared Access Signature is het SAS-token van 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 het token binnen SQL Server te laten werken.

    Zodra u de back-upbestemming hebt ingesteld en geconfigureerd in SQL Server, kunt u een back-up maken naar de Blob-opslag van Azure Stack Hub.

Volgende stappen

Services gebruiken of apps bouwen voor Azure Stack Hub