Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo spiega come abilitare e disabilitare il monitoraggio delle prestazioni per i servizi Microsoft SQL affinché i dati sulle prestazioni appaiono nella pagina Performance del Database Hub. Abilitare il monitoraggio delle prestazioni non comporta costi aggiuntivi. Non è necessario distribuire o mantenere agenti di monitoraggio, archivi dati o altre infrastrutture di monitoraggio.
Important
Questa funzionalità si trova in Anteprima.
I passaggi per attivare il monitoraggio delle prestazioni variano a seconda del servizio. Dopo aver attivato il monitoraggio, ogni servizio invia dati di performance alla stessa pipeline di telemetria. Il Database Hub utilizza questi dati per aiutare a identificare problemi di performance e creare dashboard. Puoi anche consultare direttamente la telemetria con KQL. Per ulteriori informazioni, vedi Query telemetria di monitoraggio delle prestazioni. Questo articolo tratta i seguenti servizi:
Puoi visualizzare le risorse Microsoft SQL nel Database Hub da Azure, Fabric e on-premises. Sono inclusi i seguenti tipi di risorse:
- Database SQL di Microsoft Azure
- Istanza gestita di SQL di Azure (Istanza gestita di Azure SQL)
- SQL Server nelle macchine virtuali Azure
- SQL Server abilitato da Azure Arc
- pool elastici di database SQL di Azure
- Database SQL nell'ambiente Fabric
I seguenti tipi di risorse sono visibili nel Database Hub, ma la pagina Performance non li supporta ancora:
- Database SQL nell'ambiente Fabric
- pool elastici di database SQL di Azure
- Istanza gestita di SQL di Azure (Istanza gestita di Azure SQL)
- Il monitoraggio delle prestazioni non raccoglie dati dai database in database SQL di Azure elastic pool o da repliche secondarie.
Disponibilità regionale e gestione dei dati
Il monitoraggio delle prestazioni è disponibile per le risorse Microsoft SQL nelle seguenti regioni Azure. Durante l'anteprima, i cloud governativi, sovrani e isolati non sono supportati. Per altre informazioni, si veda Disponibilità di Fabric a livello di area.
- Brazil South
- Canada Central
- Canada East
- Central US
- East US
- Stati Uniti orientali 2
- Stati Uniti centro-settentrionali
- Stati Uniti centro-meridionali
- Stati Uniti centro-occidentali
- West US
- West US 2 (Regione Ovest degli Stati Uniti 2)
- Stati Uniti occidentali 3
Il monitoraggio delle prestazioni raccoglie dati sulle prestazioni dalle viste di gestione dinamica (DMV) sulle tue risorse SQL. Il monitoraggio delle prestazioni non raccoglie dati personali o contenuti dei clienti, e i dati non vengono memorizzati a riposo al di fuori della geografia della risorsa SQL monitorata.
Registrare il provider di risorse di Azure
Per visualizzare i dati di monitoraggio delle prestazioni, registra il Microsoft.AzureArcData fornitore di risorse in ogni abbonamento che contiene le risorse del database che desideri monitorare. Per maggiori informazioni, consulta il registro dei fornitori in Arizona.
az provider register --namespace Microsoft.AzureArcData
Per verificare lo stato di registrazione, esegui il seguente comando. La registrazione è completa quando il comando restituisce Registered.
az provider show --namespace Microsoft.AzureArcData --query "registrationState" --output tsv
Abilita il monitoraggio delle prestazioni per database SQL di Azure
Usare uno dei metodi seguenti:
- Nel Database Hub, vai alla pagina Estate , seleziona la risorsa e poi seleziona Abilita il monitoraggio delle prestazioni.
- Esegui il seguente script T-SQL su ogni database utente che vuoi monitorare. Non eseguire lo script sul
masterdatabase. Per applicare lo script a più server contemporaneamente, prendi in considerazione le query multiserver in SQL Server Management Studio (SSMS). Aggiungi laMS_EnablePerformanceMonitoringPreviewproprietà estesa a ogni database utente che vuoi monitorare.
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
Come disabilitare il monitoraggio delle prestazioni per database SQL di Azure
Per smettere di raccogliere dati di performance per un database utente, cambia @value = N'true' a @value = N'false' in entrambe le chiamate di procedura, e poi riesegui lo script T-SQL su quel database.
Abilita il monitoraggio delle prestazioni per SQL Server su VM Azure
Per abilitare il monitoraggio delle prestazioni per SQL Server su VM Azure, aggiungi il DatabaseWatcheronAzureVM flag feature alle impostazioni pubbliche dell'estensione SQL IaaS Agent. L'estensione raccoglie quindi dati di performance dall'istanza di SQL Server e utilizza l'identità gestita assegnata al sistema della VM per caricarli su un endpoint telemetrico regionale. Il monitoraggio è configurato per ogni VM. Abilitare il flag di funzionalità su una VM non abilita il monitoraggio sulle altre VM.
Per verifiche, risoluzione dei problemi e l'elenco completo dei dataset raccolti, vedi Abilita il monitoraggio delle prestazioni per SQL Server su VM Azure.
Prerequisiti per SQL Server su Azure VM
- Il monitoraggio delle prestazioni supporta SQL Server 2016 SP1 e versioni successive su VM Azure. Le versioni di SQL Server precedenti a SQL Server 2016 SP1 non sono supportate.
- Il monitoraggio delle prestazioni raccoglie tutti i dataset per le edizioni SQL Server Enterprise e Standard. Per le edizioni SQL Server Developer, Express e Evaluation, il monitoraggio delle prestazioni raccoglie solo i dati di connessione del cliente.
- Devi installare la versione
2.0.229.0dell'estensione SQL IaaS Agent o successiva in modalità di gestione completa. È necessario abilitare l'estensione e il relativo stato di provisioning deve essere Succeeded. - La VM deve avere abilitata un'identità gestita assegnata dal sistema .
- La risorsa di istanza di SQL Server deve essere disponibile tramite un inventario unificato.
- Devi registrare il
Microsoft.AzureArcDatafornitore di risorse per l'abbonamento. - La VM deve consentire la connettività HTTPS in uscita sulla porta
443atelemetry.<region>.arcdataservices.com, dove<region>è la regione Azure che ospita la VM. - Ti serve l'ultima versione della interfaccia della riga di comando di Azure.
- È necessario il permesso di visualizzare e aggiornare le estensioni sulla VM, come l'appartenenza al ruolo di Virtual Machine Contributor .
Come abilitare il monitoraggio delle prestazioni per SQL Server su VM Azure
Important
Le impostazioni delle estensioni SQL IaaS Agent non sono cumulative. Quando aggiorni l'estensione, includi tutte le impostazioni pubbliche esistenti per evitare di disabilitare involontariamente un'altra funzione.
I seguenti passaggi di PowerShell recuperano le impostazioni pubbliche attuali, aggiungono il flag di funzionalità di monitoraggio delle prestazioni e applicano le impostazioni unite all'estensione.
Apri PowerShell in un ambiente dove è installata la interfaccia della riga di comando di Azure, e poi accedi ad Azure.
az loginImposta le variabili per la tua VM SQL Server.
$subscriptionId = "<subscription-id>" $resourceGroup = "<resource-group>" $vmName = "<vm-name>" az account set --subscription $subscriptionIdRecupera le impostazioni attuali dell'estensione SQL IaaS Agent.
$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 }Aggiungi il
DatabaseWatcheronAzureVMfeature flag mantenendo i feature flag esistenti.$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 ` -ForceSalva le impostazioni unite e applicale all'estensione SQL IaaS Agent.
$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 }Ripeti questi passaggi per ogni VM che vuoi monitorare.
L'estensione ricarica automaticamente le impostazioni pubbliche. Non è necessario riavviare il servizio IaaS Agent di SQL Server o la VM. La maggior parte dei dati sulle prestazioni è disponibile entro 3-5 minuti dall'entrata in vigore dell'impostazione. Alcuni dati basati sull'inventario possono richiedere fino a 15 minuti.
Per confermare che il monitoraggio è in esecuzione, controlla lo stato dell'estensione:
az vm extension show `
--resource-group $resourceGroup `
--vm-name $vmName `
--name SqlIaasExtension `
--instance-view `
--query "instanceView.statuses[0].message" `
--output tsv
Quando il monitoraggio delle prestazioni è in esecuzione e carica con successo i dati, lo stato include DatabaseMonitorArcPlugin: {"State":"Running","MetricsUploadStatus":"OK"}. Per confermare che i dati siano disponibili, esegui la query di test di connessione in Query telemetria di monitoraggio delle prestazioni.
Disabilita il monitoraggio delle prestazioni per SQL Server sulle VM Azure
Per smettere di raccogliere nuovi dati sulle prestazioni di una VM, imposta il DatabaseWatcheronAzureVM flag di funzionalità su false. Unisci la modifica alle impostazioni pubbliche esistenti in modo che le altre funzionalità di estensione SQL IaaS Agent non vengano influenzate.
Completare i passaggi da 1 a 3 per abilitare il monitoraggio delle prestazioni per SQL Server su VM Azure per accedere, impostare le variabili e recuperare le impostazioni attuali.
Imposta il
DatabaseWatcheronAzureVMfeature flag sufalsemantenendo i feature flag esistenti.$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 ` -ForceCompletare il passo 5 in Abilita il monitoraggio delle prestazioni per SQL Server su VM Azure per applicare le impostazioni unite all'estensione.
Aspetta qualche minuto affinché la nuova impostazione entri in vigore, poi controlla di nuovo lo stato dell'estensione per confermare il cambiamento.
Abilita il monitoraggio delle prestazioni per SQL Server abilitato da Azure Arc
Il monitoraggio delle prestazioni per SQL Server abilitato da Azure Arc è attivato di default. Quando un'istanza soddisfa tutti i prerequisiti di questa sezione, raccoglie automaticamente i dati sulle prestazioni e non è necessario compiere altri passaggi. Per ulteriori informazioni, consulta Monitor SQL Server abilitato da Azure Arc.
Prerequisiti per SQL Server abilitati da Azure Arc
- L'estensione Azure per SQL Server (
WindowsAgent.SqlServer) deve essere versione1.1.2504.99o versioni successive. - SQL Server deve funzionare su Windows. SQL Server in Linux non è supportato. SQL Server su Windows Server 2012 R2 e versioni precedenti non è supportato.
- SQL Server deve essere Standard o Enterprise Edition.
- SQL Server deve essere versione 2016 SP1 o versioni successive.
- Il server deve avere connettività con
*.<region>.arcdataservices.com. Per altre informazioni, si veda Requisiti di rete. - Il tipo di licenza su SQL Server abilitato da Azure Arc deve essere Software Assurance o pay-as-you-go.
- Ti serve un ruolo Azure che includa l'azione
Microsoft.AzureArcData/sqlServerInstances/getTelemetry/. Il ruolo integrato Azure Hybrid Database Administrator - Read Only Service Role include questa azione. Per altre informazioni, vedere Ruoli predefiniti di Azure. - Al momento le istanze del cluster di failover non sono supportate.
Come abilitare il monitoraggio delle prestazioni per SQL Server abilitato da Azure Arc
I seguenti comandi consentono la raccolta dei dati sulle prestazioni. I comandi possono funzionare con successo, ma il sistema raccoglie dati sulle prestazioni solo quando l'istanza soddisfa tutti i prerequisiti di questa sezione.
Per attivare o disattivare la raccolta nel portale Azure:
- Nella pagina della risorsa per SQL Server con Azure Arc, selezionare Dashboard delle prestazioni (anteprima).
- Nella parte superiore del riquadro Dashboard delle prestazioni, selezionare Configura.
- Nel pannello Configura impostazioni di monitoraggio , usa il toggle per attivare la raccolta dati di monitoraggio.
- Selezionare Applica impostazioni.
Per abilitare la raccolta utilizzando la interfaccia della riga di comando di Azure, esegui il seguente comando. Sostituire i segnaposto per ID della sottoscrizione, gruppo di risorse e nome della risorsa.
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
Come disabilitare il monitoraggio delle prestazioni per SQL Server abilitato da Azure Arc
Per attivare o disattivare la raccolta nel portale Azure:
- Nella pagina della risorsa per SQL Server con Azure Arc, selezionare Dashboard delle prestazioni (anteprima).
- Nella parte superiore del riquadro Dashboard delle prestazioni, selezionare Configura.
- Nel pannello Configura impostazioni di monitoraggio , usa l'opzione per disattivare la raccolta dati di monitoraggio.
- Selezionare Applica impostazioni.
Per disabilitare la raccolta utilizzando la interfaccia della riga di comando di Azure, esegui il seguente comando. Sostituire i segnaposto per ID della sottoscrizione, gruppo di risorse e nome della risorsa.
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