Evaluatie van best practices voor SQL Server op Azure-VM's
Van toepassing op: SQL Server op Azure VM
De evaluatiefunctie voor best practices van SQL in Azure Portal identificeert mogelijke prestatieproblemen en evalueert dat uw SQL Server op Azure Virtual Machines (VM's) is geconfigureerd om de aanbevolen procedures te volgen met behulp van de uitgebreide regelset van de SQL Assessment-API.
Bekijk deze video over de evaluatie van best practices voor SQL voor meer informatie:
Overzicht
Zodra de evaluatiefunctie van SQL best practices is ingeschakeld, worden uw SQL Server-exemplaar en -databases gescand om aanbevelingen te geven voor zaken zoals indexen, afgeschafte functies, ingeschakelde of ontbrekende traceringsvlagmen, statistieken, enzovoort. Aanbevelingen worden weergegeven op de beheerpagina van de SQL-VM van Azure Portal.
Evaluatieresultaten worden geüpload naar uw Log Analytics-werkruimte met behulp van Azure Monitor Agent (AMA). De AMA-extensie wordt geïnstalleerd op de SQL Server-VM, als deze nog niet is geïnstalleerd en AMA-resources zoals DCE, DCR worden gemaakt en verbonden met de opgegeven Log Analytics-werkruimte.
De uitvoeringstijd van de evaluatie is afhankelijk van uw omgeving (aantal databases, objecten, enzovoort), met een duur van een paar minuten tot een uur. Op dezelfde manier is de grootte van het evaluatieresultaat ook afhankelijk van uw omgeving. Evaluatie wordt uitgevoerd op uw exemplaar en alle databases op dat exemplaar. In onze test hebben we vastgesteld dat een evaluatieuitvoering maximaal 5-10% CPU-impact kan hebben op de machine. In deze tests is de evaluatie uitgevoerd terwijl een TPC-C-achtige toepassing werd uitgevoerd op de SQL Server.
Vereisten
Als u de evaluatiefunctie voor best practices voor SQL wilt gebruiken, moet u aan de volgende vereisten voldoen:
- Uw SQL Server-VM moet zijn geregistreerd bij de SQL Server IaaS-extensie.
- Een Log Analytics-werkruimte in hetzelfde abonnement als uw SQL Server-VM om evaluatieresultaten te uploaden naar.
- SQL Server moet 2012 of hoger zijn.
Enable
U kunt best practices voor SQL inschakelen met behulp van Azure Portal of de Azure CLI.
Voer de volgende stappen uit om best practices voor SQL-procedures in te schakelen met behulp van Azure Portal:
- Meld u aan bij Azure Portal en ga naar uw SQL Server VM-resource.
- Selecteer best practices voor SQL-evaluaties onder Instellingen.
- Selecteer Aanbevolen procedures voor SQL inschakelen of Configuratie om naar de pagina Configuratie te gaan.
- Schakel het selectievakje Best practices voor SQL inschakelen in en geef het volgende op:
- De Log Analytics-werkruimte waarnaar evaluaties worden geüpload. Kies een bestaande werkruimte in het abonnement in de vervolgkeuzelijst.
- Kies een resourcegroep waarin de Azure Monitor Agent-resources DCE en DCR worden gemaakt. Als u dezelfde resourcegroep opgeeft voor meerdere SQL Server-VM's, worden deze resources opnieuw gebruikt.
- Het uitvoeringsschema. U kunt ervoor kiezen om evaluaties op aanvraag uit te voeren of automatisch volgens een schema. Als u een planning kiest, geeft u de frequentie (wekelijks of maandelijks), de dag van de week, het terugkeerpatroon (elke 1-6 weken) op en het tijdstip waarop uw evaluaties moeten worden gestart (lokaal naar VM-tijd).
- Selecteer Toepassen om uw wijzigingen op te slaan en de Azure Monitor-agent te implementeren op uw SQL Server-VM als deze nog niet is geïmplementeerd. In een Azure Portal-melding wordt u verteld wanneer de evaluatiefunctie van SQL best practices gereed is voor uw SQL Server-VM.
SQL Server-VM evalueren
Evaluaties worden uitgevoerd:
- Volgens een schema
- Op aanvraag
Geplande evaluatie uitvoeren
U kunt de evaluatie volgens een planning configureren met behulp van Azure Portal en de Azure CLI.
Als u een planning instelt op de configuratieblade, wordt een evaluatie automatisch uitgevoerd op de opgegeven datum en tijd. Kies Configuratie om uw evaluatieschema te wijzigen. Zodra u een nieuw schema hebt opgegeven, wordt het vorige schema overschreven.
Evaluatie op aanvraag uitvoeren
Nadat de evaluatiefunctie van SQL best practices is ingeschakeld voor uw SQL Server-VM, is het mogelijk om een evaluatie op aanvraag uit te voeren met behulp van Azure Portal of de Azure CLI.
Als u een evaluatie op aanvraag wilt uitvoeren met behulp van De Azure-portal, selecteert u Evaluatie uitvoeren op de blade SQL Best Practices-evaluatie van de resourcepagina van de SQL Server-VM .
Resultaten weergeven
In de sectie Evaluatiesresultaten van de pagina met best practices voor SQL ziet u een lijst met de meest recente evaluatieuitvoeringen. Elke rij geeft de begintijd van een uitvoering en de status weer: gepland, actief, resultaten uploaden, voltooid of mislukt. Elke evaluatieuitvoering bestaat uit twee delen: evalueert uw exemplaar en uploadt de resultaten naar uw Log Analytics-werkruimte. Het statusveld heeft betrekking op beide onderdelen. Evaluatieresultaten worden weergegeven in Azure-werkmappen.
Open de Azure-werkmap met evaluatieresultaten op drie manieren:
- Selecteer de knop Meest recente geslaagde evaluatie weergeven op de pagina met best practices voor SQL-evaluaties .
- Kies een voltooide uitvoering in de sectie Evaluatieresultaten van de pagina met best practices voor SQL-evaluaties .
- Selecteer Evaluatieresultaten weergeven in de top 10 aanbevelingen die worden weergegeven op de overzichtspagina van uw SQL VM-resourcepagina.
Wanneer u de werkmap hebt geopend, kunt u de vervolgkeuzelijst gebruiken om eerdere uitvoeringen te selecteren. U kunt de resultaten van één uitvoering bekijken met behulp van de pagina Resultaten of historische trends bekijken met behulp van de pagina Trends .
Resultatenpagina
De pagina Resultaten ordent de aanbevelingen met behulp van tabbladen voor Alles, nieuw, opgelost. Gebruik deze tabbladen om alle aanbevelingen van de huidige uitvoering weer te geven, alle nieuwe aanbevelingen (de delta van vorige uitvoeringen) of om aanbevelingen van eerdere uitvoeringen op te lossen. Met tabbladen kunt u de voortgang tussen uitvoeringen bijhouden. Het tabblad Inzichten identificeert de meest terugkerende problemen en de databases met de meeste problemen. Gebruik deze om te bepalen waar u uw inspanningen wilt concentreren.
De evaluatie van grafiekgroepen resulteert in verschillende categorieën ernst: hoog, gemiddeld, laag en informatie. Selecteer elke categorie om de lijst met aanbevelingen weer te geven of zoek naar sleuteltermen in het zoekvak. U kunt het beste beginnen met de meest ernstige aanbevelingen en de lijst omlaag gaan.
In het eerste raster ziet u elke aanbeveling en het aantal exemplaren dat uw omgeving heeft getroffen. Wanneer u een rij in het eerste raster selecteert, worden in het tweede raster alle exemplaren voor die specifieke aanbeveling weergegeven. Als het eerste raster geen selectie bevat, worden in het tweede raster alle aanbevelingen weergegeven. Dit kan een grote lijst zijn. U kunt de vervolgkeuzelijsten boven het raster (naam, ernst, tags, controle-id) gebruiken om de resultaten te filteren. U kunt ook Exporteren naar Excel gebruiken en de laatste query openen in de weergaveopties voor logboeken door de kleine pictogrammen in de rechterbovenhoek van elk raster te selecteren.
De doorgegeven sectie van de grafiek identificeert aanbevelingen die uw systeem al volgt.
Bekijk gedetailleerde informatie voor elke aanbeveling door het veld Bericht te selecteren, zoals een lange beschrijving en relevante onlinebronnen.
Pagina Trends
Er zijn drie grafieken op de pagina Trends om wijzigingen in de loop van de tijd weer te geven: alle problemen, nieuwe problemen en opgeloste problemen. De grafieken helpen u uw voortgang te zien. In het ideale geval moet het aantal aanbevelingen omlaag gaan terwijl het aantal opgeloste problemen toeneemt. De legenda toont het gemiddelde aantal problemen voor elk ernstniveau. Beweeg de muisaanwijzer over de balken om de afzonderlijke vales voor elke uitvoering te zien.
Als er één dag meerdere uitvoeringen zijn, wordt alleen de meest recente uitvoering opgenomen in de grafieken op de pagina Trends .
Inschakelen voor alle VM's in een abonnement
U kunt de Azure CLI gebruiken om de evaluatiefunctie van SQL best practices in te schakelen op alle SQL Server-VM's binnen een abonnement. Gebruik hiervoor het volgende voorbeeldscript:
# This script is formatted for use with Az CLI on Windows PowerShell. You may need to update the script for use with Az CLI on other shells.
# This script enables SQL best practices assessment feature for all SQL Servers on Azure VMs in a given subscription. It configures the VMs to use a Log Analytics workspace to upload assessment results. It sets a schedule to start an assessment run every Sunday at 11pm (local VM time).
# Please note that if a VM is already associated with another Log Analytics workspace, it will give an error.
$subscriptionId = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'
# Resource Group where the Log Analytics workspace belongs
$myWsRg = 'myWsRg'
# Log Analytics workspace where assessment results will be stored
$myWsName = 'myWsName'
# Resource Group where the Azure Monitor Agent resources will be created
$myAgentRg = 'myAgentRg'
# Ensure in correct subscription
az account set --subscription $subscriptionId
$sqlvms = az sql vm list | ConvertFrom-Json
foreach ($sqlvm in $sqlvms)
{
echo "Configuring feature on $($sqlvm.id)"
az sql vm update --assessment-weekly-interval 1 --assessment-day-of-week Sunday --assessment-start-time-local "23:00" --workspace-name $myWsName --workspace-rg $myWsRg -g $sqlvm.resourceGroup --agent-rg $myAgentRg -n $sqlvm.name
# Alternatively you can use this command to only enable the feature without setting a schedule
# az sql vm update --enable-assessment true --workspace-name $myWsName --workspace-rg $myWsRg -g $sqlvm.resourceGroup --agent-rg $myAgentRg -n $sqlvm.name
# You can use this command to start an on-demand assessment on each VM
# az sql vm start-assessment -g $sqlvm.resourceGroup -n $sqlvm.name
}
Bekende problemen
Er kunnen enkele van de volgende bekende problemen optreden bij het gebruik van best practices voor SQL.
Migreren van Microsoft Monitoring Agent (MMA) naar Azure Monitor Agent (AMA)
Voorheen heeft de evaluatiefunctie van SQL best practices MMA gebruikt om evaluaties te uploaden naar de Log Analytics-werkruimte. MMA wordt buiten gebruik gesteld. Deze functie maakt nu gebruik van AMA om evaluaties te uploaden. Als u de evaluatie van best practices voor SQL in het verleden hebt ingeschakeld met behulp van MMA, kunt u eenvoudig migreren naar AMA door eerst de functie uit te schakelen en vervolgens opnieuw in te schakelen. Uw bestaande resultaten zijn nog steeds beschikbaar na de bewerking uitschakelen/inschakelen zolang u dezelfde Log Analytics-werkruimte opgeeft. Als deze niet door andere services wordt gebruikt, kunt u de Microsoft Monitoring Agent op dit moment verwijderen door deze instructies te volgen. Voordat u migreert, moet u ervoor zorgen dat Azure Monitor Log Analytics wordt ondersteund in de regio waar uw SQL Server-VM zich bevindt met behulp van de tabel die hier is gekoppeld.
Implementatiefout voor Inschakelen of Evaluatie uitvoeren
Raadpleeg de implementatiegeschiedenis van de resourcegroep die de SQL-VM bevat, om het foutbericht weer te geven dat is gekoppeld aan de mislukte actie.
Mislukte evaluaties
Als de evaluatie of het uploaden van de resultaten om een of andere reden is mislukt, geeft de status van die uitvoering de fout aan. Als u op de status klikt, wordt een contextvenster geopend waarin u de details over de fout en mogelijke manieren kunt zien om het probleem op te lossen.
Fooi
Als u TLS 1.0 of hoger hebt afgedwongen in Windows en oudere SSL-protocollen hebt uitgeschakeld, zoals hier wordt beschreven, moet u er ook voor zorgen dat .NET Framework is geconfigureerd voor het gebruik van sterke cryptografie.
Volgende stappen
- Als u uw SQL Server-VM wilt registreren met de SQL Server IaaS-extensie voor SQL Server op Azure-VM's, raadpleegt u de artikelen voor automatische installatie, enkele VM's of VM's bulksgewijs.
- Zie SQL Server-VM's beheren met behulp van Azure Portal voor meer informatie over meer mogelijkheden die beschikbaar zijn voor de SQL Server IaaS-extensie voor SQL Server op virtuele Azure-machines.