Aktiver ytelsesovervåking for Microsoft SQL (forhåndsvisning)

Denne artikkelen forklarer hvordan man kan aktivere og deaktivere ytelsesovervåking for Microsoft SQL-tjenester slik at ytelsesdata vises på ytelsessiden i Database Hub. Å aktivere ytelsesovervåking medfører ingen ekstra kostnad. Du trenger ikke å distribuere eller vedlikeholde overvåkingsagenter, datalagre eller annen overvåkingsinfrastruktur.

Important

Denne funksjonen er i forhåndsversjon.

Stegene for å aktivere ytelsesovervåking varierer fra tjeneste til tjeneste. Etter at du slår på overvåking, sender hver tjeneste ytelsesdata til samme telemetripipeline. Database Hub bruker disse dataene til å identifisere ytelsesproblemer og lage dashbord. Du kan også spørre telemetrien direkte med KQL. For mer informasjon, se Telemetri for overvåking av spørringsytelse. Denne artikkelen dekker følgende tjenester:

Du kan se Microsoft SQL-ressurser i Database Hub fra Azure, Fabric og lokalt. Følgende ressurstyper er inkludert:

  • Azure SQL Database
  • Azure SQL Managed Instance
  • SQL Server på Azure VM-er
  • SQL Server aktivert av Azure Arc
  • Azure SQL Database elastic pools
  • SQL-database i Fabric

Følgende ressurstyper er synlige i Database Hub, men ytelsessiden støtter dem ennå ikke:

  • SQL-database i Fabric
  • Azure SQL Database elastic pools
  • Azure SQL Managed Instance
  • Ytelsesovervåking samler ikke inn data fra databaser i Azure SQL Database elastiske pooler eller fra sekundære replikaer.

Regional tilgjengelighet og datahåndtering

Ytelsesovervåking er tilgjengelig for Microsoft SQL-ressurser i følgende Azure-regioner. Statlige, suverene og luftgapte skyer støttes ikke under forhåndsvisningen. Hvis du vil ha mer informasjon, kan du se Tilgjengelighet for stoffområde.

  • Brasil, sør
  • Canada, sentralt
  • Canada, øst
  • USA, sentralt
  • USA, øst
  • USA, øst 2
  • USA, nord-sentralt
  • USA, sør-sentralt
  • USA, vest-sentralt
  • USA, vest
  • USA, vest 2
  • USA, vest 3

Ytelsesovervåking samler inn ytelsesdata fra dynamiske administrasjonsvisninger (DMV) på dine SQL-ressurser. Ytelsesovervåking samler ikke inn personlige data eller kundeinnhold, og dataene lagres ikke i ro utenfor geografien til den overvåkede SQL-ressursen.

Registrer SQL-ressursleverandøren

For å se ytelsesovervåkingsdata, registrer ressursleverandøren Microsoft.Sql i hvert abonnement som inneholder databaseressurser du ønsker å overvåke. For mer informasjon, se az provider register.

az provider register --namespace Microsoft.Sql

For å sjekke registreringsstatusen, kjør følgende kommando. Registreringen er fullført når kommandoen returnerer Registered.

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

Aktiver ytelsesovervåking for Azure SQL Database

Bruk en av følgende metoder:

  • I Database Hub, gå til siden Eiendom , velg ressursen, og velg deretter Aktiver ytelsesovervåking.
  • Kjør følgende T-SQL-skript på hver brukerdatabase du vil overvåke. Ikke kjør skriptet i databasen master . For å bruke skriptet på flere servere samtidig, vurder multiserver-spørringer i SQL Server Management Studio (SSMS). Legg til den utvidede egenskapen MS_EnablePerformanceMonitoringPreview i hver brukerdatabase du vil overvåke.
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

Hvordan deaktivere ytelsesovervåking for Azure SQL Database

For å slutte å samle inn ytelsesdata for en brukerdatabase, bytt @value = N'true' til @value = N'false' i begge prosedyrekallene, og kjør deretter T-SQL-skriptet på nytt på den databasen.

Aktiver ytelsesovervåking for SQL Server på Azure VM-er

For å aktivere ytelsesovervåking for SQL Server på Azure-VM-er, legg DatabaseWatcheronAzureVM til funksjonsflagget i de offentlige innstillingene til SQL IaaS Agent-utvidelsen. Utvidelsen samler deretter inn ytelsesdata fra SQL Server-instansen og bruker VM-ens systemtildelte administrerte identitet til å laste det opp til et regionalt telemetri-endepunkt. Overvåking konfigureres per VM. Å aktivere funksjonsflagget på én VM aktiverer ikke overvåking på andre VM-er.

For verifisering, feilsøking og full liste over innsamlede datasett, se Aktiver ytelsesovervåking for SQL Server på Azure VM-er.

Forutsetninger for SQL Server på Azure VMs

  • Ytelsesovervåking støtter SQL Server 2016 SP1 og senere versjoner på Azure VM-er. SQL Server-versjoner eldre enn SQL Server 2016 SP1 støttes ikke.
  • Ytelsesovervåking samler alle datasett for SQL Server, Enterprise og Standard-utgaver. For SQL Server Developer, Express og Evaluation-utgavene samler ytelsesovervåking kun inn klienttilkoblingsdata.
  • Du må installere SQL IaaS Agent-utvidelsen2.0.229.0 eller senere i full administrasjonsmodus. Du må aktivere utvidelsen, og dens forsyningstilstand må være Succeeded.
  • VM-en må ha en systemtilordnet administrert identitet aktivert.
  • SQL Server-instansressursen må være tilgjengelig gjennom unified inventory.
  • Du må registrere ressursleverandøren Microsoft.Sql for abonnementet.
  • VM-en må tillate utgående HTTPS-tilkobling på porten 443 til telemetry.<region>.arcdataservices.com, hvor <region> er Azure-regionen som hoster VM-en.
  • Du trenger den nyeste versjonen av Azure CLI.
  • Du trenger tillatelse for å se og oppdatere utvidelser på VM-en, for eksempel medlemskap i rollen Virtual Machine Contributor .

Hvordan aktivere ytelsesovervåking for SQL Server på Azure VM-er

Important

SQL IaaS Agent-utvidelsesinnstillinger er ikke kumulative. Når du oppdaterer utvidelsen, inkluder alle eksisterende offentlige innstillinger for å unngå å uforvarende deaktivere en annen funksjon.

Følgende PowerShell-steg henter de nåværende offentlige innstillingene, legger til flagget for ytelsesovervåking, og anvender de sammenslåede innstillingene på utvidelsen.

  1. Åpne PowerShell i et miljø hvor Azure CLI er installert, og logg deretter inn på Azure.

    az login
    
  2. Sett variablene for din SQL Server VM.

    $subscriptionId = "<subscription-id>"
    $resourceGroup = "<resource-group>"
    $vmName = "<vm-name>"
    
    az account set --subscription $subscriptionId
    
  3. Hent de nåværende SQL IaaS Agent-utvidelsesinnstillingene.

    $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. Legg til feature-flagget DatabaseWatcheronAzureVM samtidig som de eksisterende feature-flaggene 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. Lagre de sammenslåtte innstillingene og bruk dem i SQL IaaS Agent-utvidelsen.

    $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. Gjenta disse stegene for hver VM du vil overvåke.

Utvidelsen laster automatisk inn de offentlige innstillingene. Du trenger ikke å starte SQL Server IaaS Agent-tjenesten eller VM-en på nytt. De fleste ytelsesdata er tilgjengelige innen 3 til 5 minutter etter at innstillingen trer i kraft. Noen lagerbaserte data kan ta opptil 15 minutter.

For å bekrefte at overvåkingen kjører, sjekk statusen på utvidelsen:

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

Når ytelsesovervåking kjører og laster opp data med suksess, inkluderer DatabaseMonitorArcPlugin: {"State":"Running","MetricsUploadStatus":"OK"}statusen . For å bekrefte at dataene er tilgjengelige, kjør tilkoblingstest-spørringen i Query performance monitoring telemetry.

Deaktiver ytelsesovervåking for SQL Server på Azure VM-er

For å slutte å samle inn nye ytelsesdata for en VM, sett funksjonsflagget DatabaseWatcheronAzureVM til false. Slå sammen endringen med de eksisterende offentlige innstillingene slik at andre SQL IaaS Agent-utvidelsesfunksjoner ikke blir påvirket.

  1. Fullfør trinn 1 til 3 i Aktiver ytelsesovervåking for SQL Server på Azure-VM-er for å logge inn, sette variablene og hente gjeldende innstillinger.

  2. Sett funksjonsflagget DatabaseWatcheronAzureVM til samtidig som false de eksisterende funksjonsflaggene bevares.

    $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. Fullfør steg 5 i Aktiver ytelsesovervåking for SQL Server på Azure-VM-er for å anvende de sammenslåtte innstillingene på utvidelsen.

La noen minutter få minutter før den nye innstillingen trer i kraft, og sjekk deretter utvidelsesstatusen igjen for å bekrefte endringen.

Aktiver ytelsesovervåking for SQL Server aktivert av Azure Arc

Ytelsesovervåking for SQL Server aktivert av Azure Arc er aktivert som standard. Når en instans oppfyller alle forutsetningene i denne seksjonen, samler den inn ytelsesdata automatisk, og du trenger ikke ta noen andre steg. For mer informasjon, se Monitor SQL Server aktivert av Azure Arc.

Forutsetninger for SQL Server aktivert av Azure Arc

  • Azure-utvidelsen for SQL Server (WindowsAgent.SqlServer) må være versjon 1.1.2504.99 eller nyere versjoner.
  • SQL Server må kjøre på Windows. SQL Server on Linux støttes ikke. SQL Server på Windows Server 2012 R2 og tidligere versjoner støttes ikke.
  • SQL Server må være Standard- eller Enterprise-utgave.
  • SQL Server må være versjon 2016 SP1 eller nyere versjoner.
  • Serveren må ha tilkobling til *.<region>.arcdataservices.com. For mer informasjon, se nettverkskravene.
  • Lisenstypen på SQL Server som aktiveres av Azure Arc må være Software Assurance eller betal som du går.
  • Du trenger en Azure-rolle som inkluderer handlingenMicrosoft.AzureArcData/sqlServerInstances/getTelemetry/. Den innebygde Azure Hybrid Database Administrator - Read Only Service Role inkluderer denne handlingen. Se Innebygde Azure-roller hvis du vil ha mer informasjon.
  • Failover-klyngeinstanser støttes ikke for øyeblikket.

Hvordan aktivere ytelsesovervåking for SQL Server aktivert av Azure Arc

Følgende kommandoer muliggjør innsamling av ytelsesdata. Kommandoene kan kjøres vellykket, men systemet samler kun inn ytelsesdata når instansen oppfyller alle forutsetningene i denne seksjonen.

For å slå samling av eller på i Azure-portalen:

  1. På ressurssiden for SQL Server aktivert av Azure Arc, velg Performance Dashboard (forhåndsvisning).
  2. Øverst i Performance Dashboard-panelet , velg Konfigurer.
  3. I panelet Konfigurer overvåkingsinnstillinger , bruk bryteren for å slå på innsamling av overvåkingsdata.
  4. Velg Bruk innstillinger.

For å aktivere innsamling ved å bruke Azure CLI, kjør følgende kommando. Bytt ut plassholderne for abonnements-ID, ressursgruppe og ressursnavn.

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

Hvordan deaktivere ytelsesovervåking for SQL Server aktivert av Azure Arc

For å slå samling av eller på i Azure-portalen:

  1. På ressurssiden for SQL Server aktivert av Azure Arc, velg Performance Dashboard (forhåndsvisning).
  2. Øverst i Performance Dashboard-panelet , velg Konfigurer.
  3. I panelet Konfigurer overvåkingsinnstillinger , bruk bryteren for å slå av innsamling av overvåkingsdata.
  4. Velg Bruk innstillinger.

For å deaktivere innsamling ved å bruke Azure CLI, kjør følgende kommando. Bytt ut plassholderne for abonnements-ID, ressursgruppe og ressursnavn.

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

Neste trinn: