Dela via


Utvärdering av SQL-metodtips för SQL Server på virtuella Azure-datorer

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

Funktionen för utvärdering av SQL-metodtips i Azure-portalen identifierar möjliga prestandaproblem och utvärderar att din SQL Server på virtuella Azure-datorer (VM) har konfigurerats för att följa bästa praxis med hjälp av den omfattande regeluppsättningen som tillhandahålls av SQL Assessment API.

Mer information finns i den här videon om utvärdering av metodtips för SQL:

Översikt

När funktionen för utvärdering av SQL-metodtips har aktiverats genomsöks SQL Server-instansen och databaserna för att ge rekommendationer för saker som index, inaktuella funktioner, aktiverade eller saknade spårningsflaggor, statistik osv. Rekommendationer visas på sidan för hantering av virtuella SQL-datorer i Azure-portalen.

Utvärderingsresultat laddas upp till din Log Analytics-arbetsyta med hjälp av Azure Monitor Agent (AMA). AMA-tillägget är installerat på den virtuella SQL Server-datorn om det inte redan är installerat. AMA-resurser som datainsamlingsslutpunkter (DCE) och regler för datainsamling (DCR) skapas och ansluts till den angivna Log Analytics-arbetsytan.

Utvärderingskörningstiden beror på din miljö (antal databaser, objekt och så vidare), med en varaktighet från några minuter, upp till en timme. På samma sätt beror storleken på utvärderingsresultatet också på din miljö. Utvärderingen körs mot din instans och alla databaser på den instansen. I våra tester observerade vi att en utvärderingskörning kan ha upp till 5–10% CPU-påverkan på datorn. I de här testerna gjordes utvärderingen medan ett TPC-C liknande program kördes mot SQL Server.

Förutsättningar

Om du vill använda utvärderingsfunktionen för SQL-metodtips måste du ha följande förutsättningar:

  • Den virtuella SQL Server-datorn måste vara registrerad med SQL Server IaaS-tillägget.
  • En Log Analytics-arbetsyta i samma prenumeration som din virtuella SQL Server-dator för att ladda upp utvärderingsresultat till.
  • SQL Server 2012 eller senare.

Permissions

Om du vill aktivera utvärderingar av SQL-metodtips behöver du följande behörigheter:

  • Virtuell maskinbidragsgivare på den underliggande virtuella datorresursen.
  • Virtuell datordeltagare på resursen för virtuella SQL-datorer.
  • Log Analytics-deltagare i resursgruppen som innehåller Log Analytics-arbetsytan.
  • Läsare i resursgruppen där Azure Monitor Agent-resurserna skapas. Kontrollera konfigurationsalternativet för resursgruppen när du aktiverar utvärderingsfunktionen för SQL-metodtips.

Enable

Du kan aktivera utvärderingar av SQL-metodtips med hjälp av Azure-portalen eller Azure CLI.

Följ dessa steg för att aktivera utvärderingar av SQL-metodtips med hjälp av Azure-portalen:

  1. Logga in på Azure-portalen och gå till resursen för virtuella SQL-datorer .
  2. Välj utvärderingar av SQL-metodtips under Inställningar.
  3. Välj Aktivera utvärderingar av SQL-metodtips eller Konfiguration för att gå till sidan Konfiguration .
  4. Markera kryssrutan Aktivera utvärderingar av SQL-metodtips och ange följande:
    1. Log Analytics-arbetsytan som utvärderingar laddas upp till. Välj en befintlig arbetsyta i prenumerationen i listrutan.
    2. Välj en resursgrupp där Azure Monitor Agent-resurserna DCE och DCR skapas. Om du anger samma resursgrupp för flera virtuella SQL Server-datorer återanvänds dessa resurser.
    3. Körningsschemat. Du kan välja att köra utvärderingar på begäran eller automatiskt enligt ett schema. Om du väljer ett schema anger du frekvensen (varje vecka eller varje månad), veckodag, upprepning (var 1–6:e vecka) och den tid på dagen som dina utvärderingar ska starta (lokal till VM-tid).
  5. Välj Använd för att spara ändringarna och distribuera Azure Monitor Agent till din virtuella SQL Server-dator om den inte redan har distribuerats. Ett meddelande i Azure-portalen meddelar dig när sql best practices-utvärderingsfunktionen är redo för din virtuella SQL Server-dator.

Utvärdera virtuell SQL Server-dator

Utvärderingar genomförda:

  • Enligt ett schema
  • På begäran

Kör schemalagd utvärdering

Du kan konfigurera utvärdering enligt ett schema med hjälp av Azure-portalen och Azure CLI.

Om du anger ett schema i konfigurationsfönstret körs en utvärdering automatiskt vid angivet datum och tid. Välj Konfiguration för att ändra utvärderingsschemat. När du har angett ett nytt schema skrivs det tidigare schemat över.

Köra utvärdering på begäran

När funktionen för utvärdering av SQL-metodtips har aktiverats för din virtuella SQL Server-dator kan du köra en utvärdering på begäran med hjälp av Azure-portalen eller Azure CLI.

Om du vill köra en utvärdering på begäran med hjälp av Azure-portalen väljer du Kör utvärdering från utvärderingsfönstret FÖR SQL-metodtips på resurssidan för virtuella SQL-datorer i Azure-portalen.

Visa resultat

Avsnittet Utvärderingsresultat på sidan utvärderingar av SQL-metodtips visar en lista över de senaste utvärderingskörningarna. Varje rad visar starttiden för en körning och statusen - schemalagd, körning, uppladdning av resultat, slutförd eller misslyckad. Varje utvärderingskörning har två delar: utvärderar din instans och laddar upp resultatet till Din Log Analytics-arbetsyta. Statusfältet omfattar båda delarna. Utvärderingsresultat visas i Azure-arbetsböcker.

Få åtkomst till Azure-arbetsboken för utvärderingsresultat på tre sätt:

  • Välj knappen Visa senaste lyckade utvärdering på sidan utvärderingar av SQL-metodtips .
  • Välj en slutförd körning från avsnittet Utvärderingsresultat på sidan utvärderingar av SQL-metodtips .
  • Välj Visa utvärderingsresultat från de 10 främsta rekommendationerna som visas på sidan Översikt på resurssidan för din virtuella SQL-dator.

När du har öppnat arbetsboken kan du använda listrutan för att välja tidigare omgångar. Du kan visa resultatet av en enskild körning med hjälp av sidan Resultat eller granska historiska trender med hjälp av sidan Trender .

Resultatsida

På sidan Resultat ordnas rekommendationerna med hjälp av flikar för:

  • Alla: Alla rekommendationer från den aktuella körningen
  • Ny: Nya rekommendationer (skillnaden från tidigare körningar)
  • Löst: Åtgärdade rekommendationer från tidigare körningar
  • Insikter: Identifierar de mest återkommande problemen och de databaser som har flest problem.

Utvärderingen av grafgrupper resulterar i olika kategorier av allvarlighetsgrad – hög, medel, låg och information. Välj varje kategori för att se listan med rekommendationer eller sök efter nyckelfraser i sökrutan. Det är bäst att börja med de allvarligaste rekommendationerna och gå ner på listan.

Det första rutnätet visar varje rekommendation och antalet instanser i din miljö som påträffade det problemet. När du väljer en rad i det första rutnätet visar det andra rutnätet alla instanser för den specifika rekommendationen. Om det inte finns något val i det första rutnätet visar det andra rutnätet alla rekommendationer, vilket potentiellt kan vara en lång lista. Du kan använda listrutorna ovanför rutnätet (Namn, Allvarlighetsgrad, Taggar, Kontrollera ID) för att filtrera resultatet. Du kan också använda Exportera till Excel och Öppna den senaste körningsfrågan i alternativen för loggvyn genom att välja de små ikonerna i det övre högra hörnet i varje rutnät.

Det godkända avsnittet i diagrammet identifierar rekommendationer som systemet redan följer.

Visa detaljerad information för varje rekommendation genom att välja fältet Meddelande , till exempel en lång beskrivning och relevanta onlineresurser.

Det finns tre diagram på sidan Trender för att visa ändringar över tid: alla problem, nya problem och lösta problem. Diagrammen hjälper dig att se dina framsteg. Helst bör antalet rekommendationer minska medan antalet lösta problem ökar. Teckenförklaringen visar det genomsnittliga antalet problem för varje allvarlighetsgrad. Hovra över staplarna för att se de enskilda värdena för varje körning.

Om det finns flera körningar på en enda dag ingår endast den senaste körningen i graferna på sidan Trender .

Aktivera för alla virtuella datorer i en prenumeration

Du kan använda Azure CLI för att aktivera funktionen för utvärdering av SQL-metodtips på alla virtuella SQL Server-datorer i en prenumeration. Använd följande exempelskript för att göra det:

# 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
}

Kända problemområden

Du kan stöta på några av följande kända problem när du använder utvärderingar av SQL-metodtips.

Migrera till Azure Monitor Agent (AMA)

Tidigare använde sql best practices assessment feature Microsoft Monitoring Agent (MMA) för att ladda upp utvärderingar till Log Analytics-arbetsytan. Microsoft Monitoring Agent har ersatts med Azure Monitor Agent (AMA). Om du vill migrera befintliga utvärderingar av SQL-metodtips från MMA till AMA måste du ta bort och sedan registrera den virtuella SQL Server-datorn med tillägget igen. Dina befintliga resultat är fortfarande tillgängliga när utvärderingar har aktiverats. Om MMA inte används av andra tjänster kan du ta bort den. Innan du migrerar kontrollerar du att Azure Monitor Log Analytics stöds i den region där den virtuella SQL Server-datorn distribueras.

Det gick inte att aktivera utvärderingar

Om du vill visa felmeddelandet som är associerat med den misslyckade åtgärden läser du distributionshistoriken för resursgruppen som innehåller den virtuella SQL-datorn.

Det gick inte att köra en utvärdering

Kontrollera statusen för utvärderingen i Azure-portalen. Om statusen är misslyckad väljer du statusen för att visa felmeddelandet. Du kan också logga in på den virtuella datorn och granska detaljerade felmeddelanden för misslyckade utvärderingar i tilläggsloggen på C:\WindowsAzure\Logs\Plugins\Microsoft.SqlServer.Management.SqlIaaSAgent\2.0.X.Y, där 2.0.X.Y är versionen av tillägget.

Om du har problem med att köra en utvärdering:

  • Kontrollera att din miljö uppfyller alla förutsättningar.
  • Kontrollera att SQL IaaS Agent-tjänsten körs på den virtuella datorn och att SQL IaaS Agent-tillägget är i felfritt tillstånd. Om SQL IaaS-agenttillägget är felfritt reparerar du tillägget för att åtgärda eventuella problem och uppgraderar det till den senaste versionen utan avbrott i SQL Server.
  • Om du ser inloggningsfel för NT SERVICE\SqlIaaSExtensionQuerykontrollerar du att kontot finns i SQL Server med behörigheten Server permission - CONTROL SERVER .

Det gick inte att ladda upp resultatet till Log Analytics-arbetsytan

Det här felet anger att Microsoft Monitoring Agent (MMA) inte kunde ladda upp resultaten inom den förväntade tidsramen.

Om resultatet inte kan laddas upp till Log Analytics-arbetsytan kan du prova följande lösning:

Fel med felaktig TLS-konfiguration med Log Analytics

Det vanligaste TLS-felet (Transport Layer Security) uppstår när tillägget Microsoft Monitoring Agent (MMA) inte kan upprätta ett SSL-handskakning vid anslutning till Log Analytics-slutpunkten. Det här felet inträffar vanligtvis när TLS 1.0 framtvingas av registret eller grupprincipobjektet på OS-nivå, men inte uppdateras för .NET-ramverket. Om du framtvingade TLS 1.0 eller senare i Windows och inaktiverade äldre SSL-protokoll, enligt beskrivningen i Schannel-specifika registernycklar, måste du också se till att .NET Framework är konfigurerat att använda stark kryptografi.

Det går inte att ändra Log Analytics-arbetsytan när SQL-utvärdering har konfigurerats

När en virtuell dator är associerad med en Log Analytics-arbetsyta kan den inte ändras från resursen för den virtuella SQL-datorn. Den här begränsningen förhindrar att Log Analytics används för andra användningsfall. Du kan koppla från den virtuella datorn med hjälp av resursfliken Log Analytics på sidan Virtuella datorer i Azure-portalen.

Resultatet har gått ut på grund av datalagringstiden för Log Analytics-arbetsytan

Det här felet anger att resultaten inte längre behålls på Log Analytics-arbetsytan, baserat på dess kvarhållningsprincip. Du kan ändra lagringsperioden för arbetsytan.