Aktivér performance-overvågning for Microsoft SQL (forhåndsvisning)

Denne artikel forklarer, hvordan man aktiverer og deaktiverer performance-overvågning for Microsoft SQL-tjenester, så performancedata vises på Performance-siden i Database Hub. Aktivering af performance-overvågning medfører ikke en ekstra omkostning. Du behøver ikke at implementere eller vedligeholde overvågningsagenter, datalagre eller anden overvågningsinfrastruktur.

Vigtig

Denne funktion er i prøveversion.

Trinene til at aktivere performance-overvågning varierer fra tjeneste til tjeneste. Efter du har slået overvågning til, sender hver service ydelsesdata til den samme telemetripipeline. Database Hub bruger disse data til at hjælpe med at identificere performanceproblemer og oprette dashboards. Du kan også forespørge telemetrien direkte med KQL. For mere information, se Telemetri til overvågning af forespørgselspræstationer. Denne artikel dækker følgende tjenester:

Du kan se Microsoft SQL-ressourcer i Database Hub fra Azure, Fabric og on-premises. Følgende ressourcetyper er inkluderet:

  • Azure SQL Database
  • Administreret forekomst af Azure SQL
  • SQL Server på Azure VM'er
  • SQL Server aktiveret af Azure Arc
  • Azure SQL Database elastic pools
  • SQL-database i Fabric

Følgende ressourcetyper er synlige i Database Hub, men Performance-siden understøtter dem endnu ikke:

  • SQL-database i Fabric
  • Azure SQL Database elastic pools
  • Administreret forekomst af Azure SQL
  • Performance-overvågning indsamler ikke data fra databaser i Azure SQL Database elastic pools eller fra sekundære replikaer.

Regional tilgængelighed og datahåndtering

Ydelsesovervågning er tilgængelig for Microsoft SQL-ressourcer i følgende Azure-regioner. Regering, suveræne og air-gapped skyer understøttes ikke under forhåndsvisningen. Du kan få flere oplysninger under Tilgængelighed af fabric-område.

  • Det sydlige Brasilien
  • Det centrale Canada
  • Det østlige Canada
  • Det centrale USA
  • Det østlige USA
  • Det østlige USA 2
  • Det nordcentrale USA
  • Det sydcentrale USA
  • Det vestlige centrale USA
  • Det vestlige USA
  • Det vestlige USA 2
  • Det vestlige USA 3

Performance-overvågning indsamler performancedata fra dynamiske management views (DMV'er) på dine SQL-ressourcer. Performance-overvågning indsamler ikke personlige data eller kundeindhold, og dataene lagres ikke i ro uden for geografien for den overvågede SQL-ressource.

Registrer SQL-ressourceudbyderen

For at se data om performance monitoring skal du registrere ressourceudbyderen Microsoft.Sql i hvert abonnement, der indeholder databaseressourcer, du ønsker at overvåge. For mere information, se az provider register.

az provider register --namespace Microsoft.Sql

For at tjekke registreringstilstanden, kør følgende kommando. Registreringen er fuldført, når kommandoen vender tilbage.Registered

az provider show --namespace Microsoft.Sql --query "registrationState" --output tsv

Aktiver performance monitoring for Azure SQL Database

Brug en af følgende metoder:

  • I Database Hub'en skal du gå til siden for Arvebo , vælge ressourcen, og derefter vælge Aktiver Ydelsesovervågning.
  • Kør følgende T-SQL-script på hver af de databaser, du vil overvåge. Kør ikke scriptet i databasen master . For at anvende scriptet på flere servere på én gang, overvej multiserver-forespørgsler i SQL Server Management Studio (SSMS). Tilføj den udvidede MS_EnablePerformanceMonitoringPreview egenskab til hver brugerdatabase, du vil overvåge.
IF EXISTS (
    SELECT 1
    FROM sys.extended_properties
    WHERE class = 0
      AND name = N'MS_EnablePerformanceMonitoringPreview'
)
BEGIN
    EXEC sys.sp_updateextendedproperty
        @name = N'MS_EnablePerformanceMonitoringPreview',
        @value = N'true';
END
ELSE
BEGIN
    EXEC sys.sp_addextendedproperty
        @name = N'MS_EnablePerformanceMonitoringPreview',
        @value = N'true';
END;
GO

Sådan deaktiveres performance monitoring for Azure SQL Database

For at stoppe indsamlingen af ydelsesdata til en brugerdatabase, skift @value = N'true' til @value = N'false' i begge procedurekald, og kør derefter T-SQL-scriptet igen på den database.

Aktiver performance monitoring for SQL Server på Azure VMs

For at muliggøre performance-overvågning for SQL Server på Azure VM'er, tilføj DatabaseWatcheronAzureVM funktionsflaget til de offentlige indstillinger i SQL IaaS Agent-udvidelsen. Udvidelsen indsamler derefter ydelsesdata fra SQL Server-instansen og bruger VM'ens systemtildelte administrerede identitet til at uploade det til et regionalt telemetri-endpoint. Overvågning konfigureres pr. VM. At aktivere feature-flaget på én VM aktiverer ikke overvågning på andre VM'er.

For verifikation, fejlfinding og den fulde liste over indsamlede datasæt, se Enable performance monitoring for SQL Server on Azure VMs.

Forudsætninger for SQL Server på Azure VMs

  • Ydelsesovervågning understøtter SQL Server 2016 SP1 og senere versioner på Azure VM'er. SQL Server-versioner tidligere end SQL Server 2016 SP1 understøttes ikke.
  • Performance-overvågning indsamler alle datasæt til SQL Server Enterprise- og Standard-udgaver. For SQL Server Developer, Express og Evaluation-udgaver indsamler performance monitoring kun klientforbindelsesdata.
  • Du skal installere SQL IaaS Agent-udvidelsesversionen2.0.229.0 eller senere i fuld administrationstilstand. Du skal aktivere udvidelsen, og dens provisioning-tilstand skal være Succeeded.
  • VM'en skal have en systemtilknyttet administreret identitet aktiveret.
  • SQL Server-instansressourcen skal være tilgængelig gennem det samlede inventar.
  • Du skal registrere ressourceudbyderen Microsoft.Sql for abonnementet.
  • VM'en skal tillade udgående HTTPS-forbindelse på porten 443 til telemetry.<region>.arcdataservices.com, hvor <region> er Azure-regionen, der huser VM'en.
  • Du skal bruge den nyeste version af Azure CLI.
  • Du skal have tilladelse til at se og opdatere udvidelser på VM'en, såsom medlemskab i rollen Virtual Machine Contributor .

Sådan aktiveres performance monitoring for SQL Server på Azure VM'er

Vigtig

SQL IaaS Agent-udvidelsesindstillinger er ikke kumulative. Når du opdaterer udvidelsen, skal du inkludere alle eksisterende offentlige indstillinger for at undgå utilsigtet at deaktivere en anden funktion.

Følgende PowerShell-trin henter de aktuelle offentlige indstillinger, tilføjer flaget for performance-overvågningsfunktionen og anvender de sammenslåede indstillinger på udvidelsen.

  1. Åbn PowerShell i et miljø, hvor Azure CLI er installeret, og log derefter ind på Azure.

    az login
    
  2. Sæt variablerne til din SQL Server VM.

    $subscriptionId = "<subscription-id>"
    $resourceGroup = "<resource-group>"
    $vmName = "<vm-name>"
    
    az account set --subscription $subscriptionId
    
  3. Hent de aktuelle SQL IaaS Agent-udvidelsesindstillinger.

    $extension = az vm extension show `
      --resource-group $resourceGroup `
      --vm-name $vmName `
      --name SqlIaasExtension `
      --query "{settings:settings,typeHandlerVersion:typeHandlerVersion}" `
      --output json | ConvertFrom-Json
    
    if ($null -eq $extension.settings) {
      $settings = [pscustomobject]@{}
    }
    else {
      $settings = $extension.settings
    }
    
  4. Tilføj feature-flaget DatabaseWatcheronAzureVM , mens de eksisterende feature-flag bevares.

    $monitoringFlag = [pscustomobject]@{
      Name = "DatabaseWatcheronAzureVM"
      Enable = $true
    }
    
    $featureFlags = @(
      $settings.FeatureFlags |
        Where-Object { $_.Name -ne $monitoringFlag.Name }
    )
    $featureFlags += $monitoringFlag
    
    $settings | Add-Member `
      -MemberType NoteProperty `
      -Name FeatureFlags `
      -Value $featureFlags `
      -Force
    
  5. Gem de sammenflettede indstillinger og anvend dem på SQL IaaS Agent-udvidelsen.

    $settingsPath = Join-Path $env:TEMP "sqlvm-performance-monitoring-settings.json"
    
    try {
      $settings |
        ConvertTo-Json -Depth 50 |
        Out-File -FilePath $settingsPath -Encoding utf8
    
      az vm extension set `
        --resource-group $resourceGroup `
        --vm-name $vmName `
        --publisher Microsoft.SqlServer.Management `
        --name SqlIaaSAgent `
        --extension-instance-name SqlIaasExtension `
        --settings "@$settingsPath"
    }
    finally {
      Remove-Item $settingsPath -ErrorAction SilentlyContinue
    }
    
  6. Gentag disse trin for hver VM, du vil overvåge.

Udvidelsen genindlæser automatisk de offentlige indstillinger. Du behøver ikke genstarte SQL Server IaaS Agent-tjenesten eller VM'en. De fleste ydelsesdata er tilgængelige inden for 3 til 5 minutter efter, at indstillingen træder i kraft. Nogle lagerbaserede data kan tage op til 15 minutter.

For at bekræfte, at overvågningen kører, tjek status på udvidelsen:

az vm extension show `
  --resource-group $resourceGroup `
  --vm-name $vmName `
  --name SqlIaasExtension `
  --instance-view `
  --query "instanceView.statuses[0].message" `
  --output tsv

Når performance-overvågning kører og uploader data succesfuldt, inkluderer DatabaseMonitorArcPlugin: {"State":"Running","MetricsUploadStatus":"OK"}status . For at bekræfte, at dataene er tilgængelige, kør forbindelsestestforespørgslen i Query performance monitoring telemetry.

Deaktiver performance monitoring for SQL Server på Azure VM'er

For at stoppe indsamling af nye ydelsesdata for en VM, sæt funktionsflaget DatabaseWatcheronAzureVM til .false Sammenlæg ændringen med de eksisterende offentlige indstillinger, så andre SQL IaaS Agent-udvidelsesfunktioner ikke påvirkes.

  1. Gennemfør trin 1 til 3 i Aktiver performance monitoring for SQL Server på Azure VM'er for at logge ind, sætte variablerne og hente de aktuelle indstillinger.

  2. Sæt feature-flaget DatabaseWatcheronAzureVM til og false behold de eksisterende feature-flag.

    $monitoringFlag = [pscustomobject]@{
      Name = "DatabaseWatcheronAzureVM"
      Enable = $false
    }
    
    $featureFlags = @(
      $settings.FeatureFlags |
        Where-Object { $_.Name -ne $monitoringFlag.Name }
    )
    $featureFlags += $monitoringFlag
    
    $settings | Add-Member `
      -MemberType NoteProperty `
      -Name FeatureFlags `
      -Value $featureFlags `
      -Force
    
  3. Fuldfør trin 5 i Aktiver performance-overvågning for SQL Server på Azure VM'er for at anvende de sammenflettede indstillinger på udvidelsen.

Giv et par minutter, så den nye indstilling træder i kraft, og tjek derefter udvidelsesstatus igen for at bekræfte ændringen.

Aktiver performance monitoring for SQL Server aktiveret af Azure Arc

Performance-overvågning for SQL Server, der er aktiveret af Azure Arc, er slået til som standard. Når en instans opfylder alle forudsætningerne i dette afsnit, indsamler den automatisk ydelsesdata, og du behøver ikke tage andre skridt. For mere information, se Monitor SQL Server aktiveret af Azure Arc.

Forudsætninger for SQL Server muliggjort af Azure Arc

  • Azure-udvidelsen til SQL Server (WindowsAgent.SqlServer) skal være version 1.1.2504.99 eller nyere versioner.
  • SQL Server skal køre på Windows. SQL Server on Linux understøttes ikke. SQL Server på Windows Server 2012 R2 og tidligere versioner understøttes ikke.
  • SQL Server skal være Standard- eller Enterprise-udgave.
  • SQL Server skal være version 2016 SP1 eller nyere.
  • Serveren skal have forbindelse til *.<region>.arcdataservices.com. For mere information, se netværkskravene.
  • Licenstypen på SQL Server, som Azure Arc muliggør, skal være Software Assurance eller pay-as-you-go.
  • Du skal have en Azure-rolle, der inkluderer handlingenMicrosoft.AzureArcData/sqlServerInstances/getTelemetry/. Den indbyggede Azure Hybrid Database Administrator - Read Only Service Role inkluderer denne handling. Du kan se flere oplysninger under Indbyggede roller i Azure.
  • Failover-klyngeinstanser understøttes ikke i øjeblikket.

Sådan aktiveres performance monitoring for SQL Server aktiveret af Azure Arc

Følgende kommandoer muliggør indsamling af performance-data. Kommandoerne kan køre succesfuldt, men systemet indsamler kun performance-data, når instansen opfylder alle forudsætningerne i dette afsnit.

For at slå samling til eller fra i Azure-portalen:

  1. På ressourcesiden for SQL Server, der aktiveres af Azure Arc, vælg Performance Dashboard (preview).
  2. Øverst i Performance Dashboard-panelet vælger du Konfigurér.
  3. I panelet Konfigurer overvågningsindstillinger skal du bruge togglen til at slå overvågningsdataindsamling til.
  4. Vælg Apply settings.

For at aktivere indsamling ved hjælp af Azure CLI, kør følgende kommando. Erstat pladsholderne for abonnements-ID, ressourcegruppe og ressourcenavn.

az resource update --ids "/subscriptions/<sub_id>/resourceGroups/<resource_group>/providers/Microsoft.AzureArcData/SqlServerInstances/<resource_name>" --set 'properties.monitoring.enabled=true' --api-version 2023-09-01-preview

Sådan deaktiveres performance monitoring for SQL Server aktiveret af Azure Arc

For at slå samling til eller fra i Azure-portalen:

  1. På ressourcesiden for SQL Server, der aktiveres af Azure Arc, vælg Performance Dashboard (preview).
  2. Øverst i Performance Dashboard-panelet vælger du Konfigurér.
  3. I panelet Konfigurer overvågningsindstillinger skal du bruge knappen til at slå overvågningsdataindsamling fra.
  4. Vælg Apply settings.

For at deaktivere indsamling ved at bruge Azure CLI, kør følgende kommando. Erstat pladsholderne for abonnements-ID, ressourcegruppe og ressourcenavn.

az resource update --ids "/subscriptions/<sub_id>/resourceGroups/<resource_group>/providers/Microsoft.AzureArcData/SqlServerInstances/<resource_name>" --set 'properties.monitoring.enabled=false' --api-version 2023-09-01-preview

Næste trin