Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln förklarar hur man aktiverar och inaktiverar prestandaövervakning för Microsoft SQL-tjänster så att prestandadata visas på Prestandasidan i Databashubben. Att aktivera prestandaövervakning medför ingen extra kostnad. Du behöver inte distribuera eller underhålla övervakningsagenter, datalager eller annan övervakningsinfrastruktur.
Important
Den här funktionen är i förhandsversion.
Stegen för att aktivera prestandaövervakning skiljer sig åt beroende på tjänst. Efter att du har aktiverat övervakning skickar varje tjänst prestandadata till samma telemetripipeline. Databashubben använder denna data för att identifiera prestandaproblem och skapa instrumentpaneler. Du kan också fråga telemetrin direkt med KQL. För mer information, se Telemetri för övervakning av frågeprestanda. Denna artikel täcker följande tjänster:
Du kan se Microsoft SQL-resurser i Database Hub från Azure, Fabric och lokalt. Följande resurstyper ingår:
- Azure SQL Database
- Hanterad instans i Azure SQL
- SQL Server på virtuella Azure-datorer
- SQL Server aktiverat av Azure Arc
- Azure SQL Database elastiska pooler
- SQL-databasen i Fabric
Följande resurstyper är synliga i Databashubben, men Prestandasidan stöder dem ännu inte:
- SQL-databasen i Fabric
- Azure SQL Database elastiska pooler
- Hanterad instans i Azure SQL
- Prestandaövervakning samlar inte in data från databaser i Azure SQL Database-elastic pools eller från sekundära repliker.
Regional tillgänglighet och datahantering
Prestandaövervakning finns tillgänglig för Microsoft SQL-resurser i följande Azure-regioner. Regering, suveräna och luftgapade moln stöds inte under förhandsvisningen. För mer information, se Tillgänglighet för Fabric-regioner.
- Syd-Brasilien
- Canada Central
- Canada East
- Central US
- East US
- USA, östra delen 2
- Norra centrala USA
- Södra centrala USA
- Västra centrala USA
- West US
- Västra USA 2
- Västra USA 3
Prestandaövervakning samlar in prestandadata från dynamiska förvaltningsvyer (DMV) på dina SQL-resurser. Prestandaövervakning samlar inte in någon personlig data eller kundinnehåll, och datan lagras inte i vila utanför geografin för den övervakade SQL-resursen.
Registrera Azure-resursprovidern
För att se prestandaövervakningsdata, registrera resursleverantören Microsoft.AzureArcData i varje prenumeration som innehåller databasresurser du vill övervaka. För mer information, se az provider register.
az provider register --namespace Microsoft.AzureArcData
För att kontrollera registreringsstatusen, kör följande kommando. Registreringen är klar när kommandot återvänder Registered.
az provider show --namespace Microsoft.AzureArcData --query "registrationState" --output tsv
Aktivera prestandaövervakning för Azure SQL Database
Använd någon av följande metoder:
- Gå till sidan Estate i databasen, välj resursen och välj sedan Aktivera prestandaövervakning.
- Kör följande T-SQL-skript på varje användardatabas du vill övervaka. Kör inte skriptet i databasen
master. För att tillämpa skriptet på flera servrar samtidigt, överväg multiserver-frågor i SQL Server Management Studio (SSMS). Lägg till den utökade egenskapenMS_EnablePerformanceMonitoringPreviewi varje användardatabas du vill övervaka.
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
Hur man inaktiverar prestandaövervakning för Azure SQL Database
För att sluta samla in prestandadata för en användardatabas, byt @value = N'true' till @value = N'false' i båda proceduranropen och kör sedan T-SQL-skriptet på den databasen igen.
Aktivera prestandaövervakning för SQL Server på Azure-VM:er
För att möjliggöra prestandaövervakning för SQL Server på Azure-VM:ar, lägg till DatabaseWatcheronAzureVM funktionsflaggan i de publika inställningarna för SQL IaaS Agent-tillägget. Tillägget samlar sedan in prestandadata från SQL Server-instansen och använder VM:ns systemtilldelade hanterade identitet för att ladda upp den till en regional telemetri-endpoint. Övervakningen konfigureras per VM. Att aktivera funktionsflaggan på en VM aktiverar inte övervakning på andra VM:ar.
För verifiering, felsökning och hela listan över insamlade dataset, se Aktivera prestandaövervakning för SQL Server på Azure-VM:ar.
Förutsättningar för SQL Server på Azure VM:er
- Prestandaövervakning stödjer SQL Server 2016 SP1 och senare versioner på Azure-VM:ar. SQL Server-versioner som är äldre än SQL Server 2016 SP1 stöds inte.
- Prestandaövervakning samlar in alla datamängder för SQL Server Enterprise och Standard-utgåvorna. För SQL Server Developer, Express och Evaluation-utgåvorna samlar prestandaövervakning endast in klientanslutningsdata.
- Du måste installera SQL IaaS Agent-tilläggsversionen
2.0.229.0eller senare i full hanteringsläge. Du måste aktivera utvidgningen, och dess provisioneringstillstånd måste vara Succeeded. - VM:n måste ha en systemtilldelad hanterad identitet aktiverad.
- SQL Server-instansresursen måste vara tillgänglig via ett enhetligt inventarie.
- Du måste registrera resursleverantören
Microsoft.AzureArcDataför prenumerationen. - VM:n måste tillåta utgående HTTPS-anslutning på porten
443tilltelemetry.<region>.arcdataservices.com, där<region>är Azure-regionen som är värd för VM:n. - Du behöver den senaste versionen av Azure CLI.
- Du behöver behörighet för att visa och uppdatera tillägg på VM:n, såsom medlemskap i rollen Virtual Machine Contributor .
Hur man aktiverar prestandaövervakning för SQL Server på Azure-VM:ar
Important
SQL IaaS Agent Extension-inställningar är inte kumulativa. När du uppdaterar tillägget, inkludera alla befintliga publika inställningar för att undvika att oavsiktligt inaktivera en annan funktion.
Följande PowerShell-steg hämtar de aktuella publika inställningarna, lägger till flaggan för prestandaövervakning och applicerar de sammanslagna inställningarna på tillägget.
Öppna PowerShell i en miljö där Azure CLI är installerad, och logga sedan in på Azure.
az loginStäll in variablerna för din SQL Server VM.
$subscriptionId = "<subscription-id>" $resourceGroup = "<resource-group>" $vmName = "<vm-name>" az account set --subscription $subscriptionIdHämta de aktuella inställningarna för SQL IaaS Agent-tillägget.
$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 }Lägg till
DatabaseWatcheronAzureVMfunktionsflaggan samtidigt som de befintliga funktionsflaggorna bevaras.$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 ` -ForceSpara de sammanslagna inställningarna och applicera dem på SQL IaaS Agent-tillägget.
$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 }Upprepa dessa steg för varje VM du vill övervaka.
Tillägget laddar automatiskt om de publika inställningarna. Du behöver inte starta om SQL Server IaaS Agent-tjänsten eller VM:n. De flesta prestandadata finns tillgängliga inom 3 till 5 minuter efter att inställningen trätt i kraft. Viss inventariebaserad data kan ta upp till 15 minuter.
För att bekräfta att övervakningen körs, kontrollera statusen på tillägget:
az vm extension show `
--resource-group $resourceGroup `
--vm-name $vmName `
--name SqlIaasExtension `
--instance-view `
--query "instanceView.statuses[0].message" `
--output tsv
När prestandaövervakningen körs och data laddas upp utan problem visas statusen med DatabaseMonitorArcPlugin: {"State":"Running","MetricsUploadStatus":"OK"}. För att bekräfta att datan är tillgänglig, kör anslutningstestfrågan i Telemetri för övervakning av frågeprestanda.
Inaktivera prestandaövervakning för SQL Server på Azure-VM:er
För att sluta samla in ny prestandadata för en VM, sätt DatabaseWatcheronAzureVM funktionsflaggan till false. Slå ihop ändringen med de befintliga publika inställningarna så att andra SQL IaaS Agent-tilläggsfunktioner inte påverkas.
Slutför steg 1 till 3 i Aktivera prestandaövervakning för SQL Server på Azure-VM:ar för att logga in, ställa in variablerna och hämta aktuella inställningar.
Ställ in funktionsflaggan
DatabaseWatcheronAzureVMtillfalseutan att ändra de befintliga funktionsflaggorna.$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 ` -ForceSlutför steg 5 i Aktivera prestandaövervakning för SQL Server på Azure-VM:ar för att tillämpa de sammanslagna inställningarna på tillägget.
Tillåt några minuter för att den nya inställningen ska träda i kraft, och kontrollera sedan förlängningsstatusen igen för att bekräfta ändringen.
Aktivera prestandaövervakning för SQL Server aktiverad av Azure Arc
Prestandaövervakning för SQL Server som aktiveras av Azure Arc är aktiverad som standard. När en instans uppfyller alla förutsättningar i detta avsnitt samlar den in prestandadata automatiskt, och du behöver inte vidta några andra steg. För mer information, se Monitor SQL Server aktiverad av Azure Arc.
Förutsättningar för SQL Server möjliggjord av Azure Arc
- Azure-tillägget för SQL Server (
WindowsAgent.SqlServer) måste vara version1.1.2504.99eller senare versioner. - SQL Server måste köras på Windows. SQL Server på Linux stöds inte. SQL Server på Windows Server 2012 R2 och tidigare versioner stöds inte.
- SQL Server måste vara Standard- eller Enterprise-utgåva.
- SQL Server måste vara version 2016 SP1 eller nyare versioner.
- Servern måste ha anslutning till
*.<region>.arcdataservices.com. Mer information finns i nätverkskraven. - Licenstypen på SQL Server som aktiveras av Azure Arc måste vara Software Assurance eller pay-as-you-go.
- Du behöver en Azure-roll som inkluderar åtgärden
Microsoft.AzureArcData/sqlServerInstances/getTelemetry/. Den inbyggda rollen Azure Hybrid Database Administrator - Read Only Service inkluderar denna åtgärd. Mer information finns i Inbyggda roller i Azure. - Failover-klusterinstanser stöds inte för tillfället.
Hur man aktiverar prestandaövervakning för SQL Server som aktiveras av Azure Arc
Följande kommandon möjliggör insamling av prestandadata. Kommandona kan köras framgångsrikt, men systemet samlar in prestandadata endast när instansen uppfyller alla förutsättningar i detta avsnitt.
För att slå på eller av samling i Azure-portalen:
- På resurssidan för SQL Server aktiverad av Azure Arc väljer du Prestandaöversikt (förhandsversion).
- Längst upp i fönstret Prestandainstrumentpanel väljer du Konfigurera.
- I panelen Konfigurera övervakningsinställningar , använd växlen för att slå på insamling av övervakningsdata.
- Välj Använd inställningar.
För att aktivera insamling med Azure CLI, kör följande kommando. Ersätt platshållarna för prenumerations-ID, resursgrupp och resursnamn.
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
Hur man inaktiverar prestandaövervakning för SQL Server som aktiveras av Azure Arc
För att slå på eller av samling i Azure-portalen:
- På resurssidan för SQL Server aktiverad av Azure Arc väljer du Prestandaöversikt (förhandsversion).
- Längst upp i fönstret Prestandainstrumentpanel väljer du Konfigurera.
- I panelen Konfigurera övervakningsinställningar , använd växlen för att stänga av insamling av övervakningsdata.
- Välj Använd inställningar.
För att inaktivera insamling genom att använda Azure CLI, kör följande kommando. Ersätt platshållarna för prenumerations-ID, resursgrupp och resursnamn.
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