Teljesítményfigyelés engedélyezése Microsoft SQL számára (előzetes)

Ez a cikk elmagyarázza, hogyan lehet engedélyezni és letiltani a teljesítményfigyelést a Microsoft SQL szolgáltatásoknál, hogy a teljesítményadatok megjelenjenek az Database HubTeljesítmény oldalán. A teljesítményfigyelés engedélyezése nem jár plusz költséggel. Nem kell megfigyelő ügynököket, adattárakat vagy más megfigyelő infrastruktúrát telepítened vagy karbantartani.

Important

Ez a funkció előzetes verzióban érhető el.

A teljesítményfigyelés bekapcsolásának lépései szolgáltatásonként eltérnek. Miután bekapcsolod a monitorozást, minden szolgáltatás teljesítményadatokat küld ugyanannak a telemetriai csővezetéknek. Az Database Hub ezeket az adatokat használja fel teljesítményproblémák azonosítására és dashboardok létrehozására. A telemetriát közvetlenül a KQL-lel is lekérdezheted. További információkért lásd: A lekérdezések teljesítményének figyelésére szolgáló telemetria. Ez a cikk a következő szolgáltatásokat tárgyalja:

A Microsoft SQL erőforrásait az Database Hubban lehet megtekinteni az Azure-ból, Fabric-ből és on-premises-ből. A következő erőforrástípusok szerepelnek:

  • Azure SQL Database
  • Azure SQL Managed Instance
  • SQL Server Azure-beli virtuális gépeken
  • Az Azure Arc által engedélyezett SQL Server
  • Azure SQL Database rugalmas készletek
  • SQL-adatbázis a Fabricben

A következő erőforrástípusok láthatók az Adatbázis Hubban, de a Teljesítmény oldal még nem támogatja őket:

  • SQL-adatbázis a Fabricben
  • Azure SQL Database rugalmas készletek
  • Azure SQL Managed Instance
  • A teljesítményfigyelés nem gyűjt adatokat az Azure SQL Database elastikus poolokba tartozó adatbázisokból vagy másodlagos replikákból.

Regionális elérhetőség és adatkezelés

Teljesítményfigyelés elérhető a Microsoft SQL erőforrások számára az alábbi Azure régiókban. A kormányzati, szuverén és leválasztott felhők az előzetes verzióban nem támogatottak. További információkért lásd: Fabric régió elérhetőségei.

  • Dél-Brazília
  • Közép-Kanada
  • Kelet-Kanada
  • USA középső régiója
  • USA keleti régiója
  • USA 2. keleti régiója
  • USA északi középső régiója
  • USA déli középső régiója
  • USA nyugati középső régiója
  • USA nyugati régiója
  • USA 2. nyugati régiója
  • USA 3. nyugati régiója

A teljesítményfigyelés dinamikus menedzsment nézetekből (DMV-kből) gyűjti a teljesítményadatokat az SQL erőforrásaidon. A teljesítményfigyelés nem gyűjt semmilyen személyes adatot vagy ügyféltartalmat, és az adatok nem tárolódnak nyugodtságban a felfigyelt SQL erőforrás földrajzán kívül.

Regisztráld az SQL erőforrás-szolgáltatót

A teljesítményfigyelő adatok megtekintéséhez regisztráld az Microsoft.Sql erőforrás-szolgáltatót minden előfizetésben, amely tartalmazza azokat az adatbázis-erőforrásokat, amelyeket figyelni szeretnél. További információkért lásd: az provider register.

az provider register --namespace Microsoft.Sql

A regisztrációs állapot ellenőrzéséhez futtasd a következő parancsot. A regisztráció akkor teljesül, amikor a parancs visszaadja Registered.

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

Engedélyezze a teljesítményfigyelést az Azure SQL Database-hez

Használja az alábbi módszerek egyikét:

  • Az Adatbázis Hubban menj az Estate oldalra, válaszd ki az erőforrást, majd válaszd a Teljesítményfigyelés engedélyezését.
  • Futtatd a következő T-SQL szkriptet minden követni kívánt felhasználói adatbázison. Ne futtasd le a szkriptet, az master adatbázisban. Ha egyszerre több szerverre alkalmazzuk a szkriptet, érdemes az SQL Server Management Studio-ban (SSMS) több szerveres lekérdezést alkalmazni. Hozzáadjuk a MS_EnablePerformanceMonitoringPreview kiterjesztett tulajdonságot minden figyelendő felhasználói adatbázishoz.
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

Hogyan lehet letiltani a teljesítményfigyelést Azure SQL Database-nél

Egy felhasználói adatbázis teljesítményadatainak gyűjtésének leállításához módosítsa a(z) @value = N'true' értékét @value = N'false' értékre mindkét eljáráshívásban, majd futtassa újra a T-SQL-szkriptet az adatbázison.

A teljesítményfigyelés engedélyezése SQL Serverhez Azure-beli virtuális gépeken

Az SQL Server teljesítményfigyelésének engedélyezéséhez Azure VM-eken hozzáadjuk a DatabaseWatcheronAzureVM funkciózászlót az SQL IaaS Agent kiterjesztés nyilvános beállításaihoz. A bővítmény ezután teljesítményadatokat gyűjt az SQL Server példányból, és a VM rendszerhez rendelt menedzselt identitását használja a feltöltésére egy regionális telemetriai végpontra. A megfigyelés VM-enként van konfigurálva. Ha engedélyezzük a funkciózászlót egy VM-en, más VM-en nem engedélyezi a monitorozást.

Ellenőrzés, hibakeresés és az összegyűjtött adathalmazok teljes listája számára lásd: Teljesítményfigyelés engedélyezése SQL Server számára Azure VM-eken.

Az Azure-beli virtuális gépeken futó SQL Server előfeltételei

  • A teljesítményfigyelés támogatja az SQL Server 2016 SP1 és újabb verziókat Azure VM-eken. Az SQL Server 2016 SP1-nél korábbi SQL Server verziók nem támogatottak.
  • A teljesítményfigyelés összegyűjti az SQL Server Enterprise és Standard kiadások összes adathalmazát. Az SQL Server Developer, Express és Evaluation kiadásoknál a teljesítményfigyelés csak az ügyfélkapcsolati adatokat gyűjti.
  • Az SQL IaaS Agent bővítmény2.0.229.0 vagy újabb verzióját teljes körű felügyeleti módban kell telepítenie. Engedélyeznie kell a bővítményt, és a kiépítési állapotának Succeeded értékűnek kell lennie.
  • A VM-nek rendszerhez rendelt menedzselt identitásnak kell lennie.
  • Az SQL Server példány erőforrásának egységes leltáron keresztül kell elérhetőnek lennie.
  • Az előfizetéshez regisztrálnia kell a(z) Microsoft.Sql erőforrás-szolgáltatót.
  • A VM-nek engedélyeznie kell a kimenő HTTPS csatlakozást a porton 443 , telemetry.<region>.arcdataservices.comahol <region> az a Azure régió, amely a VM-et üzemelteti.
  • Szükséged van az Azure CLI legújabb verziójára.
  • Engedélyre van szükséged a VM-en való bővítmények megtekintéséhez és frissítéséhez, például a Virtuális Gép Hozzájárulói szerepben való tagsághoz.

Hogyan lehet engedélyezni a teljesítményfigyelést az SQL Server számára Azure VM-eken

Important

Az SQL IaaS Agent bővítményének beállításai nem halmozódnak. Amikor frissíted a bővítményt, add be az összes meglévő nyilvános beállítást, hogy elkerüld a véletlenül egy másik funkció kikapcsolását.

A következő PowerShell lépések visszanyerik a jelenlegi nyilvános beállításokat, hozzáadják a teljesítményfigyelő funkció zászlóját, és alkalmazzák az egyesített beállításokat a bővítményre.

  1. Nyisd meg a PowerShell-t egy olyan környezetben, ahol az Azure CLI telepítve van, majd jelentkezz be az Azure-ba.

    az login
    
  2. Állítsd be a változókat az SQL Server VM-edhez.

    $subscriptionId = "<subscription-id>"
    $resourceGroup = "<resource-group>"
    $vmName = "<vm-name>"
    
    az account set --subscription $subscriptionId
    
  3. Kérd le az aktuális SQL IaaS Agent bővítmény beállításait.

    $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. Adja hozzá a DatabaseWatcheronAzureVM funkciójelzőt, miközben megőrzi a meglévő funkciójelzőket.

    $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. Mentsd el az összevont beállításokat, és alkalmazd őket az SQL IaaS Agent kiegészítőre.

    $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. Ismételd meg ezeket a lépéseket minden figyelni kívánt VM-hez.

A bővítmény automatikusan újratölti a nyilvános beállításokat. Nem kell újraindítanod az SQL Server IaaS Agent szolgáltatást vagy a VM-et. A legtöbb teljesítmény adat 3-5 percen belül elérhető a beállítás hatálybalépése után. Néhány készletalapú adat akár 15 percet is igénybe vehet.

A megfigyelés futtatásának megerősítéséhez ellenőrizd a bővítmény állapotát:

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

Amikor a teljesítményfigyelés aktív, és sikeresen feltölti az adatokat, az állapotban a(z) DatabaseMonitorArcPlugin: {"State":"Running","MetricsUploadStatus":"OK"} jelenik meg. Az adatok elérhetőségének megerősítéséhez futtatjuk a kapcsolatteszt lekérdezést a Query teljesítményfigyelő telemetriában.

A teljesítményfigyelés letiltása az Azure-beli virtuális gépeken futó SQL Server esetében

Egy VM esetében az új teljesítményadatok gyűjtésének leállításához állítsa a DatabaseWatcheronAzureVM funkciójelzőt false értékre. Egyesítsd a változást a meglévő nyilvános beállításokkal, hogy az SQL IaaS Agent bővítmény többi funkciója ne legyen érintett.

  1. Teljesítsd az 1-től 3-ig terjedő lépéseket az SQL Server teljesítménymonitorozásának engedélyezése Azure VM-eken a bejelentkezéshez, a változók beállításához és a jelenlegi beállítások visszaállításához.

  2. Állítsd a DatabaseWatcheronAzureVM funkciójelzőt false értékre, miközben megőrzöd a meglévő funkciójelzőket.

    $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. Teljesítsd az 5. lépést az SQL Server teljesítményfigyelésének engedélyezése Azure VM-eken, hogy alkalmazd az egyesített beállításokat a kiegészítésre.

Várj néhány percet, amíg az új beállítás hatályba lép, majd ellenőrizd újra a kiterjesztés állapotát a változás megerősítéséhez.

Engedélyezze a teljesítményfigyelést az Azure Arc által engedélyezett SQL Serverhez

Az SQL Server teljesítménymonitorozása, amelyet az Azure Arc engedélyez, alapértelmezés szerint be van kapcsolva. Ha egy példány megfelel az ebben a szakaszban szereplő összes előfeltételnek, automatikusan gyűjti a teljesítményadatokat, és nincs szükség további lépésekre. További információért lásd: Monitor SQL Server enabled by Azure Arc.

Az Azure Arc által támogatott SQL Server előfeltételei

  • Az Azure Extension for SQL Server (WindowsAgent.SqlServer) verziójának 1.1.2504.99 vagy újabb verziójúnak kell lennie.
  • Az SQL Server-nek Windows-on kell futnia. A Linuxon futó SQL Server nem támogatott. Az SQL Server a Windows Server 2012 R2-n és korábbi verziókon nem támogatott.
  • Az SQL Server-nek Standard vagy Enterprise kiadásnak kell lennie.
  • Az SQL Server-nek 2016-os SP1 vagy újabb verzióknak kell lennie.
  • A szervernek kapcsolódnia kell a *.<region>.arcdataservices.com. További információkért tekintse meg a hálózati követelményeket.
  • Az SQL Server licenctípusa, amelyet Azure Arc engedélyez, Software Assurance vagy pay-as-you-go kell lennie.
  • Szüksége van egy olyan Azure-szerepkörre, amely tartalmazza a(z) Microsoft.AzureArcData/sqlServerInstances/getTelemetry/ műveletet. A beépített Azure Hybrid Database Administrator - Read Only Service Role magában foglalja ezt a műveletet. További információ: Beépített Azure-szerepkörök.
  • A failover klaszter példányok jelenleg nem támogatottak.

Azure Arc-kompatibilis SQL Server teljesítményfigyelésének engedélyezése

A következő parancsok lehetővé teszik a teljesítményadatok gyűjtését. A parancsok sikeresen működhetnek, de a rendszer csak akkor gyűjti a teljesítményadatokat, ha az instance teljesíti az ebben a szakaszban szereplő összes előfeltételt.

A gyűjtés be- vagy kikapcsolására az Azure portálban:

  1. Az Azure Arc által engedélyezett SQL Server erőforráslapján válassza a Teljesítmény-irányítópult (előzetes kiadás)lehetőséget.
  2. A Teljesítményirányítópult tetején válassza a Konfiguráláslehetőséget.
  3. A Monitorozás beállítások beállítása panelen használd a kapcsolót, hogy bekapcsold a monitorozási adatgyűjtést.
  4. Válassza a Beállítások alkalmazásalehetőséget.

Az Azure CLI használatával történő gyűjtés engedélyezéséhez a következő parancsot futtatjuk. Cserélje le az előfizetés azonosítójának, erőforráscsoportjának és erőforrásnevének helyőrzőit.

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

Hogyan lehet letiltani az SQL Server teljesítménymonitorozását az Azure Arc által engedélyezett

A gyűjtés be- vagy kikapcsolására az Azure portálban:

  1. Az Azure Arc által engedélyezett SQL Server erőforráslapján válassza a Teljesítmény-irányítópult (előzetes kiadás)lehetőséget.
  2. A Teljesítményirányítópult tetején válassza a Konfiguráláslehetőséget.
  3. A Monitoring beállítások beállítása panelen használd a kapcsolót, hogy kikapcsold a monitoring adatgyűjtést.
  4. Válassza a Beállítások alkalmazásalehetőséget.

Az Azure CLI használatával történő gyűjtés letiltásához a következő parancsot futtatjuk. Cserélje le az előfizetés azonosítójának, erőforráscsoportjának és erőforrásnevének helyőrzőit.

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

Következő lépés