Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit artikel legt uit hoe je prestatiemonitoring voor Microsoft SQL-diensten in- en uitschakelt, zodat prestatiegegevens verschijnen op de Prestatiepagina van de Database Hub. Het inschakelen van prestatiemonitoring brengt geen extra kosten met zich mee. Je hoeft geen monitoringagents, datastores of andere monitoringsinfrastructuur te implementeren of te onderhouden.
Belangrijk
Deze functie is beschikbaar als preview-versie.
De stappen om prestatiemonitoring in te schakelen verschillen per dienst. Nadat je monitoring hebt ingeschakeld, stuurt elke dienst prestatiegegevens naar dezelfde telemetriepijplijn. De Database Hub gebruikt deze gegevens om prestatieproblemen te identificeren en dashboards te creëren. Je kunt de telemetrie ook direct opvragen met KQL. Voor meer informatie, zie Telemetrie voor het monitoren van queryprestaties. Dit artikel behandelt de volgende diensten:
Je kunt Microsoft SQL-bronnen bekijken in de Database Hub vanuit Azure, Fabric en on-premises. De volgende soorten hulpbronnen zijn inbegrepen:
- Azure SQL Database
- Azure SQL Managed Instance (een beheerde database-instantie van Azure)
- SQL Server op virtuele Azure-machines
- SQL Server ingeschakeld door Azure Arc
- Azure SQL Database elastische pools
- Een SQL-database in Fabric
De volgende resourcetypen zijn zichtbaar in de Database Hub, maar de Prestatie-pagina ondersteunt ze nog niet:
- Een SQL-database in Fabric
- Azure SQL Database elastische pools
- Azure SQL Managed Instance (een beheerde database-instantie van Azure)
- Performance monitoring verzamelt geen gegevens uit databases in Azure SQL Database elastic pools of van secundaire replica's.
Regionale beschikbaarheid en gegevensverwerking
Prestatiemonitoring is beschikbaar voor Microsoft SQL-bronnen in de volgende Azure-regio's. Overheids-, soevereine en air-gapped cloudomgevingen worden tijdens de preview niet ondersteund. Zie Beschikbaarheid van Fabric-regio's voor meer informatie.
- Brazilië Zuid
- Canada Central
- Canada East
- Central US
- East US
- Oostelijke Verenigde Staten 2
- Noord-Centraal VS
- Zuid-Centraal Verenigde Staten
- West-Centraal VS
- West US
- Westelijke Verenigde Staten 2
- Westelijke VS 3
Prestatiemonitoring verzamelt prestatiegegevens van dynamische beheerweergaven (DMV's) op je SQL-bronnen. Prestatiemonitoring verzamelt geen persoonlijke data of klantcontent, en de data wordt niet in rust buiten de geografische omgeving van de gemonitorde SQL-bron opgeslagen.
Registreer de Azure-resourceprovider
Om prestatiemonitoringgegevens te bekijken, registreer je de Microsoft.AzureArcData resource provider in elk abonnement dat databasebronnen bevat die je wilt monitoren. Voor meer informatie, zie az provider register.
az provider register --namespace Microsoft.AzureArcData
Om de registratiestatus te controleren, voer je het volgende commando uit. De registratie is voltooid wanneer het commando terugkeert Registered.
az provider show --namespace Microsoft.AzureArcData --query "registrationState" --output tsv
Prestatiebewaking inschakelen voor Azure SQL Database
Gebruik een van de volgende methoden:
- Ga in de Database Hub naar de Estate-pagina , selecteer de bron en selecteer vervolgens Prestatiemonitoring inschakelen.
- Voer het volgende T-SQL-script uit op elke gebruikersdatabase die je wilt monitoren. Voer het script niet uit op de
masterdatabase. Om het script op meerdere servers tegelijk toe te passen, overweeg multiserver-queries in SQL Server Management Studio (SSMS). Voeg deMS_EnablePerformanceMonitoringPreviewuitgebreide eigenschap toe aan elke gebruikersdatabase die je wilt monitoren.
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
Hoe je performance monitoring voor Azure SQL Database uitschakelt
Om het verzamelen van prestatiegegevens voor een gebruikersdatabase te stoppen, wijzig je @value = N'true' in @value = N'false' in beide procedureaanroepen en voer je vervolgens het T-SQL-script opnieuw uit op die database.
Schakel prestatiemonitoring in voor SQL Server op Azure VM's
Om prestatiemonitoring voor SQL Server op Azure VM's mogelijk te maken, voeg je de DatabaseWatcheronAzureVM feature-vlag toe aan de publieke instellingen van de SQL IaaS Agent-extensie. De extensie verzamelt vervolgens prestatiegegevens van de SQL Server-instantie en gebruikt de door het systeem toegewezen beheerde identiteit van de VM om deze te uploaden naar een regionaal telemetrie-eindpunt. Monitoring wordt per VM geconfigureerd. Het inschakelen van de feature-vlag op één VM maakt monitoring op andere VM's niet mogelijk.
Voor verificatie, probleemoplossing en de volledige lijst van verzamelde datasets, zie Enable performance monitoring for SQL Server on Azure VMs.
Vereisten voor SQL Server op Azure VM's
- Performance monitoring ondersteunt SQL Server 2016 SP1 en latere versies op Azure VM's. SQL Server-versies van vóór SQL Server 2016 SP1 worden niet ondersteund.
- Prestatiemonitoring verzamelt alle datasets voor SQL Server Enterprise- en Standard-edities. Voor SQL Server Developer, Express en Evaluation edities verzamelt prestatiemonitoring alleen clientverbindingsgegevens.
- Je moet de SQL IaaS Agent-extensie versie
2.0.229.0of hoger installeren in de modus voor volledig beheer. Je moet de uitbreiding inschakelen, en de provisioning-status moet Succeeded zijn. - De VM moet een door het systeem toegewezen beheerde identiteit ingeschakeld hebben.
- De resource van de SQL Server-instantie moet beschikbaar zijn via geünificeerde inventaris.
- Je moet de leverancier van de
Microsoft.AzureArcDatabron registreren voor het abonnement. - De VM moet uitgaande HTTPS-connectiviteit toestaan op poort
443naartelemetry.<region>.arcdataservices.com, waarbij<region>de Azure-regio is die de VM host. - Je hebt de nieuwste versie van de Azure CLI nodig.
- Je hebt toestemming nodig om extensies op de VM te bekijken en bij te werken, zoals lidmaatschap in de rol Virtual Machine Contributor .
Hoe je prestatiemonitoring inschakelt voor SQL Server op Azure VM's
Belangrijk
SQL IaaS Agent extensie-instellingen zijn niet cumulatief. Voeg bij het updaten van de extensie alle bestaande publieke instellingen toe om te voorkomen dat je per ongeluk een andere functie uitschakelt.
De volgende PowerShell-stappen halen de huidige publieke instellingen op, voegen de prestatiemonitoring-functie toe en passen de samengevoegde instellingen toe op de extensie.
Open PowerShell in een omgeving waar de Azure CLI is geïnstalleerd en log vervolgens in bij Azure.
az loginStel de variabelen in voor je SQL Server VM.
$subscriptionId = "<subscription-id>" $resourceGroup = "<resource-group>" $vmName = "<vm-name>" az account set --subscription $subscriptionIdHaal de huidige instellingen van de SQL IaaS Agent-extensie op.
$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 }Voeg de
DatabaseWatcheronAzureVMfeature-vlag toe terwijl je de bestaande feature-vlaggen behoudt.$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 ` -ForceSla de samengevoegde instellingen op en pas ze toe op de SQL IaaS Agent-extensie.
$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 }Herhaal deze stappen voor elke VM die je wilt monitoren.
De extensie laadt de publieke instellingen automatisch opnieuw. Je hoeft de SQL Server IaaS Agent-service of de VM niet opnieuw op te starten. De meeste prestatiegegevens zijn binnen 3 tot 5 minuten na de instelling beschikbaar. Sommige inventarisgebaseerde gegevens kunnen tot 15 minuten duren.
Om te bevestigen dat monitoring draait, controleer je de status van de extensie:
az vm extension show `
--resource-group $resourceGroup `
--vm-name $vmName `
--name SqlIaasExtension `
--instance-view `
--query "instanceView.statuses[0].message" `
--output tsv
Wanneer prestatiemonitoring actief is en gegevens succesvol uploadt, bevat de status DatabaseMonitorArcPlugin: {"State":"Running","MetricsUploadStatus":"OK"}. Om te bevestigen dat de gegevens beschikbaar zijn, voer je de query voor de verbindingstest uit in Telemetrie voor queryprestatiebewaking.
Schakel prestatiemonitoring uit voor SQL Server op Azure VM's
Om te stoppen met het verzamelen van nieuwe prestatiegegevens voor een VM, zet je de DatabaseWatcheronAzureVM feature-vlag op false. Voeg de wijziging samen met de bestaande publieke instellingen zodat andere SQL IaaS Agent-extensiefuncties niet worden beïnvloed.
Voltooi stappen 1 tot en met 3 in Activeren van prestatiemonitoring voor SQL Server op Azure VM's om in te loggen, de variabelen in te stellen en de huidige instellingen op te halen.
Stel de
DatabaseWatcheronAzureVMfeature-vlag in opfalseterwijl je de bestaande feature-vlaggen behoudt.$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 ` -ForceVoltooi stap 5 in Schakel prestatiemonitoring in voor SQL Server op Azure VM's uit om de samengevoegde instellingen toe te passen op de extensie.
Laat een paar minuten de nieuwe instelling inwerken, en controleer daarna opnieuw de status van de uitbreiding om de wijziging te bevestigen.
Schakel prestatiemonitoring in voor SQL Server mogelijk door Azure Arc
Prestatiemonitoring voor SQL Server die door Azure Arc wordt ingeschakeld, staat standaard aan. Wanneer een instantie aan alle vereisten in deze sectie voldoet, verzamelt hij automatisch prestatiegegevens en hoef je geen andere stappen te ondernemen. Voor meer informatie, zie Monitor SQL Server ingeschakeld door Azure Arc.
Vereisten voor SQL Server mogelijk gemaakt door Azure Arc
- De Azure-extensie voor SQL Server (
WindowsAgent.SqlServer) moet versie1.1.2504.99of latere versies zijn. - SQL Server moet draaien op Windows. SQL Server in Linux wordt niet ondersteund. SQL Server op Windows Server 2012 R2 en eerdere versies wordt niet ondersteund.
- SQL Server moet Standard of Enterprise edition zijn.
- SQL Server moet versie 2016 SP1 of nieuwere versies zijn.
- De server moet verbinding hebben met
*.<region>.arcdataservices.com. Zie de netwerkvereisten voor meer informatie. - Het licentietype op SQL Server dat door Azure Arc wordt ingeschakeld, moet Software Assurance of pay-as-you-go zijn.
- Je hebt een Azure-rol nodig die de
Microsoft.AzureArcData/sqlServerInstances/getTelemetry/actie bevat. De ingebouwde Azure Hybrid Database Administrator - Read Only Service Role bevat deze actie. Zie Ingebouwde rollen in Azure voor meer informatie. - Failover-clusterinstanties worden momenteel niet ondersteund.
Hoe je prestatiemonitoring inschakelt voor SQL Server die door Azure Arc wordt ingeschakeld
De volgende commando's maken het verzamelen van prestatiegegevens mogelijk. De commando's kunnen succesvol draaien, maar het systeem verzamelt prestatiegegevens alleen wanneer de instantie aan alle vereisten in deze sectie voldoet.
Om verzameling aan of uit te zetten in het Azure-portaal:
- Op de resourcepagina voor SQL Server, ingeschakeld door Azure Arc, selecteer "Prestatiedashboard" (preview).
- Selecteer boven in het deelvenster Prestatiedashboard de optie Configureren.
- Gebruik in het paneel 'Configuratie monitoringinstellingen ' de schakelaar om monitoringgegevensverzameling aan te zetten.
- Selecteer Instellingen toepassen.
Om verzameling mogelijk te maken met de Azure CLI, voer je het volgende commando uit. Vervang de tijdelijke aanduidingen voor abonnements-id, resourcegroep en resourcenaam.
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
Hoe je prestatiemonitoring voor SQL Server uitschakelt die door Azure Arc wordt ingeschakeld
Om verzameling aan of uit te zetten in het Azure-portaal:
- Op de resourcepagina voor SQL Server, ingeschakeld door Azure Arc, selecteer "Prestatiedashboard" (preview).
- Selecteer boven in het deelvenster Prestatiedashboard de optie Configureren.
- Gebruik in het venster 'Configuratie monitoringinstellingen ' de schakelaar om het verzamelen van monitoringgegevens uit te schakelen.
- Selecteer Instellingen toepassen.
Om verzameling uit te schakelen met de Azure CLI, voer je het volgende commando uit. Vervang de tijdelijke aanduidingen voor abonnements-id, resourcegroep en resourcenaam.
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