Condividi tramite


Creare e configurare un database watcher (anteprima)

Si applica a: Database SQL di Azure Istanza gestita di SQL di Azure

Questo articolo contiene passaggi dettagliati per creare, configurare e avviare un watcher di database nel portale di Azure per database SQL di Azure e Istanza gestita di SQL di Azure.

Il database watcher non richiede la distribuzione e la gestione di agenti di monitoraggio o di altre infrastrutture di monitoraggio. È possibile abilitare il monitoraggio approfondito del database delle risorse di Azure SQL in pochi minuti.

Per un esempio dettagliato di creazione e configurazione di un database watcher, vedere Avvio rapido: Creare un database watcher per monitorare Azure SQL.

Per informazioni su come creare e configurare un watcher di database con Bicep o un modello di Resource Manager, vedere Creare un watcher del database.

Per gestire watcher a livello di codice, vedere la documentazione dell'API REST del database watcher.

Nota

Il database watcher è attualmente in anteprima.

Prerequisiti

Per usare il database watcher, sono necessari i seguenti prerequisiti.

  • È necessaria una sottoscrizione di Azure attiva. Se non se ne ha una, creare un account gratuito. Per poter creare risorse è necessario essere membri del ruolo Collaboratore o del ruolo Proprietario della sottoscrizione o di un gruppo di risorse.

  • Per configurare un database watcher, è necessaria una destinazione SQL esistente: un database SQL di Azure, un pool elastico o un'istanza gestita di SQL.

  • I provider di risorse Microsoft.DatabaseWatcher, Microsoft.Kusto, e Microsoft.Network devono essere registrati nella sottoscrizione Azure.

    La registrazione del provider di risorse è automatica se si dispone dell'appartenenza al ruolo di controllo degli accessi in base al ruolo di Proprietario o Collaboratore a livello di sottoscrizione. In caso contrario, un utente in uno di questi ruoli deve registrare i provider di risorse prima di poter creare e configurare un watcher. Per maggiori informazioni, consultare la sezione Registrare il provider di risorse.

  • L'utente che crea e configura il watcher e le risorse cluster di Esplora dati di Azure deve essere membro del ruolo Controllo degli accessi in base al ruolo di Proprietario o Collaboratore per il gruppo di risorse o per la sottoscrizione in cui vengono create queste risorse.

    Inoltre, se si usa l'autenticazione SQL, l'utente deve essere un membro del ruolo di Proprietario per il gruppo di risorse oppure un membro del ruolo di amministratore di accesso utente per l’insieme di credenziali delle chiavi in cui sono archiviate le credenziali di autenticazione SQL.

  • L'utente che configura il watcher deve avere accesso come amministratore alle destinazioni di Azure SQL. Al watcher viene concesso un accesso limitato e specifico alle destinazioni di monitoraggio SQL. Per ulteriori informazioni, vedere Concedere l'accesso alle destinazioni.

  • Per concedere a un watcher l'accesso a una destinazione SQL, è necessario eseguire script T-SQL. Si possono usare SQL Server Management Studio (SSMS), Azure Data Studio e Visual Studio Code con l'estensione mssql di SQL Server.

  • Per usare il Collegamento privato di Azure per la connettività privata alle risorse di Azure, l'utente che approva l'endpoint privato deve essere membro del ruolo Controllo degli accessi in base al ruolo di Proprietario o deve avere le autorizzazioni di controllo degli accessi in base al ruolo necessarie. Per altre informazioni, vedere Approvazione del controllo degli accessi in base al ruolo per l'endpoint privato.

Creare un watcher

  1. Nel portale di Azure, nel menu di spostamento, selezionare Tutti i servizi. Selezionare Monitoraggio come categoria e in Strumenti di monitoraggio selezionare Database watcher. In alternativa, è possibile digitare database watcher nella casella di Ricerca nella parte superiore della pagina del portale e selezionare i database watcher.

    Dopo aver aperto la visualizzazione Database watcher, selezionare Crea.

  2. Nella scheda Informazioni di base, selezionare la sottoscrizione e il gruppo di risorse per watcher, immettere il nome del watcher e selezionare un'area di Azure.

    Suggerimento

    Durante l'anteprima, se il database watcher non è ancora disponibile nell'area, è possibile crearlo in un'area diversa. Per ulteriori informazioni, vedere Disponibilità regionale.

  3. Nella scheda Identità, lo stato dell'identità gestita assegnata dal sistema è impostato su On. Al momento, la creazione di watcher senza un'identità gestita assegnata dal sistema non è supportata.

  4. Scegliere un archivio dati per il watcher.

    Per impostazione predefinita, la creazione di un watcher crea anche un cluster di Esplora dati di Azure e aggiunge un database in tale cluster come archivio dati per i dati di monitoraggio raccolti.

    • Per impostazione predefinita, il nuovo cluster di Esplora dati di Azure usa lo SKU extra small con ottimizzazione per il calcolo. Si tratta dello SKU più economico che fornisce ancora un contratto di servizio. È possibile ridimensionare questo cluster in un secondo momento, in base alle esigenze.

    • Oppure, è possibile usare un database in un cluster di Esplora dati di Azure, in un cluster Esplora dati di Azure gratuito o in Analisi in tempo reale.

      1. Nella scheda Archivio dati, scegliere l'opzione Seleziona un archivio dati e selezionare Aggiungi.
      2. Selezionare un database di Analisi in tempo reale o un cluster di Esplora dati di Azure.
      3. Se si usa un cluster di Esplora dati di Azure esistente, è necessario abilitare l'inserimento in streaming.
      4. Creare un nuovo database o usarne uno esistente.

      Nota

      Qualsiasi database esistente selezionato deve essere vuoto o deve essere un database usato in precedenza come archivio dati del database watcher. La selezione di un database che contiene oggetti non creati dal database watcher non è supportata.

  5. Nella scheda Destinazioni SQL, aggiungere una o più risorse di Azure SQL da monitorare. È possibile ignorare l'aggiunta di destinazioni SQL durante la creazione del watcher e aggiungerle in un secondo momento. È necessario aggiungere almeno una destinazione prima di avviare il watcher.

  6. Nella scheda Rivedi e crea, esaminare la configurazione del watcher e selezionare Crea. Se si seleziona l'opzione predefinita per creare un nuovo cluster di Esplora dati di Azure, la distribuzione richiede in genere 15-20 minuti. Se si seleziona un database in un cluster di Esplora dati di Azure, in un cluster Esplora dati di Azure gratuito o in Analisi in tempo reale, la distribuzione richiede in genere fino a 5 minuti.

  7. Al completamento della distribuzione, concedere l'accesso alle destinazioni SQL al watcher.

    • L'accesso a un database o a un cluster di Esplora dati di Azure esistente viene concesso automaticamente durante la creazione del watcher se l'utente che crea il watcher è membro del ruolo Controllo degli accessi in base al ruolo di Proprietario per il cluster.
    • Tuttavia, è necessario concedere l'accesso all'archivio dati usando un comando KQL se si seleziona un database in:
      • Analisi in tempo reale in Microsoft Fabric
      • Un cluster di Esplora dati di Azure gratuito
  8. Creare endpoint privati gestiti se si desidera utilizzare la connettività privata.

Avviare e arrestare un watcher

Quando viene creato un watcher, non viene avviato automaticamente perché potrebbe essere necessaria una configurazione aggiuntiva.

Affinché un watcher venga avviato, deve avere:

Dopo aver configurato completamente un watcher, nella pagina Panoramica, usare il pulsante Start per avviare la raccolta di dati. In pochi minuti, i nuovi dati di monitoraggio vengono visualizzati nell'archivio dati e nelle dashboard. Se non vengono visualizzati nuovi dati entro cinque minuti, vedere Risoluzione dei problemi.

È possibile arrestare il watcher con il pulsante Arresta se non è necessario monitorare le risorse di Azure SQL per un certo periodo di tempo.

Per riavviare un watcher, arrestarlo e quindi riavviarlo.

Modificare un watcher

Nel portale di Azure, è possibile aggiungere o rimuovere destinazioni, creare o eliminare endpoint privati oppure usare un archivio dati diverso per un watcher esistente.

Nota

Se non diversamente specificato, le modifiche apportate alla configurazione del watcher diventano effettive dopo l'arresto e il riavvio del watcher.

Aggiungere destinazioni SQL a un watcher

Per abilitare il monitoraggio del database watcher per un database SQL di Azure, un pool elastico o un'istanza gestita di SQL, è necessario aggiungere questa risorsa come destinazione SQL.

  1. Per aggiungere una destinazione, nella pagina Destinazioni SQL, selezionare Aggiungi.
  2. Trovare la risorsa di Azure SQL da monitorare. Selezionare il tipo di risorsa e la sottoscrizione, poi selezionare la destinazione SQL dall'elenco delle risorse. Le destinazioni SQL possono essere in qualsiasi sottoscrizione all'interno dello stesso tenant di Microsoft Entra ID del watcher.
  3. Per monitorare la replica primaria e una replica secondaria a disponibilità elevata di un database, un pool elastico o un'istanza gestita di SQL, aggiungere due destinazioni separate per la stessa risorsa e selezionare la casella Finalità di lettura per una di esse.
    • Se si seleziona la casella Finalità di lettura, il watcher viene configurato per monitorare solo la replica secondaria a disponibilità elevata.
    • Non selezionare la casella Finalità di lettura se si desidera monitorare solo la replica primaria o se non esiste una replica secondaria a disponibilità elevata per questa risorsa, o se la funzionalità di scalabilità in lettura è disattivata.

Per impostazione predefinita, il database watcher usa l'autenticazione di Microsoft Entra per la connessione alle destinazioni SQL. Se si desidera che il watcher usi l'autenticazione SQL, spuntare la casella Usa autenticazione SQL e immettere i dettagli richiesti. Per altre informazioni, vedere Configurazione aggiuntiva per l'uso dell'autenticazione SQL.

Rimuovere le destinazioni SQL da un watcher

Per rimuovere una o più destinazioni, aprire la pagina Destinazioni SQL, selezionare le destinazioni da rimuovere nell'elenco e selezionare Elimina.

La rimozione di una destinazione interrompe il monitoraggio per una risorsa di Azure SQL dopo il riavvio del watcher, ma non elimina la risorsa effettiva.

Se si elimina una risorsa di Azure SQL monitorata dal database watcher, è necessario rimuovere anche la destinazione corrispondente. Poiché vi è un limite al numero di destinazioni SQL che un watcher può avere, mantenere le destinazioni obsolete potrebbe impedire l'aggiunta di nuove destinazioni.

Creare un endpoint privato gestito

È necessario creare endpoint privati gestiti se si desidera usare la connettività privata per la raccolta di dati dalle destinazioni SQL, per l'inserimento nell'archivio dati e per la connessione a un insieme di credenziali delle chiavi. Se non si creano endpoint privati, il database watcher usa per impostazione predefinita la connettività pubblica.

Creare un endpoint privato gestito:

  1. Se è presente un blocco di sola lettura per la risorsa, il gruppo di risorse o la sottoscrizione della risorsa per cui si sta creando un endpoint privato gestito, rimuovere il blocco. È possibile aggiungere di nuovo il blocco dopo la creazione dell'endpoint privato.

  2. Passare a un database watcher in portale di Azure, aprire la pagina Endpoint privati gestiti e selezionare Aggiungi.

  3. Immettere un nome per l'endpoint privato.

  4. Selezionare la sottoscrizione della risorsa di Azure per la quale si crea l'endpoint privato.

  5. A seconda della risorsa per cui si vuole creare un endpoint privato, selezionare il tipo di risorsa e la sotto-risorsa di destinazione come indicato di seguito:

    Risorsa Tipo di risorsa Sottorisorsa di destinazione
    Server logico Microsoft.Sql/servers sqlServer
    Istanza gestita di SQL Microsoft.Sql/managedInstances managedInstance
    Cluster di Esplora dati di Azure Microsoft.Kusto/clusters cluster
    Insieme di credenziali delle chiavi Microsoft.KeyVault/vaults vault
  6. Selezionare la risorsa per la quale si desidera creare l'endpoint privato. Può trattarsi di un server logico SQL di Azure o di un'istanza gestita di SQL, di un cluster di Esplora dati di Azure o di un insieme di credenziali delle chiavi.

    • La creazione di un endpoint privato per un server logico database SQL di Azure consente la connettività privata del database watcher per tutte le destinazioni del database e del pool elastico in tale server.
  7. Facoltativamente, immettere la descrizione per l'endpoint privato. Ciò consente al proprietario della risorsa di approvare la richiesta.

  8. Seleziona Crea. La creazione di un endpoint privato può richiedere uno o due minuti. Un endpoint privato viene creato una volta che lo stato provisioning cambia da Accettato o In esecuzione a Riuscito. Aggiornare la visualizzazione per visualizzare lo stato provisioning corrente.

    Importante

    L'endpoint privato viene creato nello stato In sospeso. Deve essere approvato dal proprietario della risorsa prima che il database watcher possa usarlo per connettersi alla risorsa.

    Per consentire ai proprietari delle risorse di controllare la connettività di rete, gli endpoint privati del database watcher non vengono approvati automaticamente.

  9. Il proprietario della risorsa deve approvare la richiesta dell'endpoint privato.

Se un watcher è già in esecuzione quando viene approvato un endpoint privato, è necessario riavviarlo per iniziare a usare la connettività privata.

Eliminare un endpoint privato gestito

  1. Se viene cancellato un blocco di sola lettura per la risorsa, il gruppo di risorse o la sottoscrizione della risorsa per cui si sta cancellando un endpoint privato gestito, rimuovere il blocco. È possibile aggiungere di nuovo il blocco dopo l'eliminazione dell'endpoint privato.
  2. Nella pagina portale di Azure del database watcher, aprire la pagina Endpoint privati gestiti.
  3. Selezionare l'endpoint privato da eliminare.
  4. Selezionare Elimina.

L'eliminazione di un endpoint privato gestito arresta la raccolta di dati dalle destinazioni SQL che usano questo endpoint privato. L'eliminazione dell'endpoint privato gestito per il cluster Esplora dati di Azure arresta la raccolta di dati per tutte le destinazioni. Per riprendere la raccolta dei dati, ricreare l'endpoint privato o abilitare la connettività pubblica e riavviare il watcher.

Modificare l'archivio dati per un watcher

Un watcher può avere un solo archivio dati.

Per modificare l'archivio dati attuale, rimuovere l'archivio dati esistente e quindi aggiungere un nuovo archivio dati.

  • Per rimuovere l'archivio dati attuale, aprire la pagina Archivio dati, selezionare l'archivio dati nella griglia e selezionare Elimina.

    • La rimozione di un archivio dati non elimina il database effettivo dell'archivio dati in un cluster di Esplora dati di Azure o in Analisi in tempo reale in Microsoft Fabric.
    • Per arrestare la raccolta di dati in un archivio dati rimosso, arrestare il watcher.
    • Se si rimuove un archivio dati, dovrà essere aggiunto un nuovo archivio dati prima di poter riavviare il watcher.
  • Per aggiungere un archivio dati, selezionare Aggiungi nella pagina Archivio dati, poi selezionare o creare un database in un cluster di Esplora dati di Azure o in Analisi in tempo reale.

    • Il database selezionato deve essere vuoto o deve essere un database usato in precedenza come archivio dati del database watcher. La selezione di un database che contiene oggetti non creati dal database watcher non è supportata.
    • Dopo aver aggiunto un archivio dati, è necessario concedere l'accesso al watcher per usarlo. Per ulteriori informazioni, vedere Concedere l'accesso all’archivio dati.
    • Il nuovo archivio dati viene usato dopo il riavvio del watcher.

Eliminare un watcher

Se è presente un blocco di eliminazione sul watcher, sul relativo gruppo di risorse o sulla relativa sottoscrizione, rimuovere il blocco. È possibile aggiungere di nuovo il blocco dopo l'eliminazione del watcher.

Quando si elimina un watcher, viene eliminata anche l'identità gestita assegnata dal sistema. In questo modo viene rimosso qualsiasi accesso concesso a questa identità. Se si ricrea il watcher in un secondo momento, è necessario concedere l'accesso all'identità gestita assegnata dal sistema del nuovo watcher per l'autenticazione a ogni risorsa. Valuta gli ambiti seguenti:

Si dovrà concedere l'accesso a un watcher ricreato, anche se viene usato lo stesso nome del watcher.

Quando si elimina un watcher, le risorse di Azure a cui si fa riferimento come destinazioni e l'archivio dati non vengono eliminati. I dati di monitoraggio SQL raccolti sono conservati nell'archivio dati ed è possibile usare lo stesso database Esplora dati di Azure o Analisi in tempo reale dell'archivio dati se si crea un nuovo watcher in un secondo momento.

Concedere l'accesso alle destinazioni SQL

Per consentire a un watcher di raccogliere dati di monitoraggio SQL, è necessario eseguire uno script T-SQL che concede autorizzazioni SQL specifiche e limitate al watcher.

  • Per eseguire lo script in database SQL di Azure, è necessario l'accesso da amministratore del server al server logico contenente i database e i pool elastici da monitorare.

    • In database SQL di Azure, è necessario eseguire lo script una sola volta per ogni server logico per ogni watcher creato. In questo modo, si concede al watcher l'accesso a tutti i database nuovi ed esistenti, e ai pool elastici in tale server.
  • Per eseguire lo script in Istanza gestita di SQL di Azure, è necessario essere un membro del ruolo del server sysadmin o securityadmin, oppure disporre dell'autorizzazione server CONTROL per l'istanza gestita di SQL.

    • In Istanza gestita di SQL di Azure, è necessario eseguire lo script in ogni istanza da monitorare.
  1. Passare al watcher nel portale di Azure, selezionare Destinazioni SQL, selezionare uno dei collegamenti di Concedi accesso per aprire lo script T-SQL e copiare lo script. Assicurarsi di scegliere il collegamento corretto per il tipo di destinazione e il tipo di autenticazione da usare.

    Importante

    Lo script di autenticazione di Microsoft Entra nel portale di Azure è specifico di un watcher perché include il nome del watcher. Per una versione generica di questo script che è possibile personalizzare per ogni watcher, vedere Concedere l'accesso alle destinazioni SQL con script T-SQL.

  2. In SQL Server Management Studio, Azure Data Studio o qualsiasi altro strumento client SQL, aprire un nuovo intervallo di query e connetterlo al database master in un server logico di Azure SQL contenente la destinazione, oppure al database master in una destinazione dell'istanza gestita di SQL.

  3. Incollare ed eseguire lo script T-SQL per concedere l'accesso al watcher. Lo script crea un account di accesso che verrà usato dal watcher per connettersi e concede autorizzazioni specifiche e limitate per raccogliere i dati di monitoraggio.

    1. Se si usa uno script di autenticazione di Microsoft Entra, il watcher deve essere già stato creato quando si esegue lo script. Inoltre, è necessario essere connessi con l'autenticazione di Microsoft Entra.

Se si aggiungono nuove destinazioni a un watcher in un secondo momento, è necessario concedere l'accesso a queste destinazioni in modo analogo, a meno che queste destinazioni non si trovino in un server logico in cui è già stato concesso l'accesso.

Concedere l'accesso alle destinazioni SQL con script T-SQL

Esistono script diversi per l'autenticazione di Microsoft Entra e l'autenticazione SQL e per le destinazioni database SQL di Azure e Istanza gestita di SQL di Azure.

Importante

Usare sempre gli script forniti per concedere l'accesso a un database watcher. Concedere l'accesso in modo diverso può bloccare la raccolta di dati. Per altre informazioni, vedere Autorizzazione a Watcher.

Prima di eseguire uno script, sostituire tutte le istanze di segnaposto che potrebbero essere presenti nello script, ad esempio login-name-placeholder, user-name-placeholder e password-placeholder con i valori effettivi.

Concedere l'accesso ai watcher autenticati di Microsoft Entra

Questo script crea un account di accesso di autenticazione di Microsoft Entra (noto in precedenza come Azure Active Directory) in un server logico in database SQL di Azure. L'account di accesso viene creato per l'identità gestita di un watcher. Lo script concede al watcher le autorizzazioni necessarie e sufficienti per raccogliere i dati di monitoraggio da tutti i database e i pool elastici nel server logico.

È necessario usare il nome watcher come nome di accesso. Lo script deve essere eseguito nel database master nel server logico. Occorre essere connessi usando un account di accesso per l'autenticazione di Microsoft Entra che è un amministratore del server.

CREATE LOGIN [watcher-name-placeholder] FROM EXTERNAL PROVIDER;

ALTER SERVER ROLE ##MS_ServerPerformanceStateReader## ADD MEMBER [watcher-name-placeholder];
ALTER SERVER ROLE ##MS_DefinitionReader## ADD MEMBER [watcher-name-placeholder];
ALTER SERVER ROLE ##MS_DatabaseConnector## ADD MEMBER [watcher-name-placeholder];

Concedere l'accesso a watcher autenticati di SQL

Si rendono necessari alcuni passaggi aggiuntivi quando si usa l'autenticazione SQL. Vedere Configurazione aggiuntiva per l'uso dell'autenticazione SQL.

Questo script crea un account di accesso di autenticazione SQL in un server logico nel database SQL di Azure. Concede le autorizzazioni necessarie e sufficienti all'account di accesso per raccogliere i dati di monitoraggio da tutti i database e i pool elastici in tale server logico.

Lo script deve essere eseguito nel database master nel server logico, usando un account di accesso che è un amministratore del server logico.

CREATE LOGIN [login-name-placeholder] WITH PASSWORD = 'password-placeholder';

ALTER SERVER ROLE ##MS_ServerPerformanceStateReader## ADD MEMBER [login-name-placeholder];
ALTER SERVER ROLE ##MS_DefinitionReader## ADD MEMBER [login-name-placeholder];
ALTER SERVER ROLE ##MS_DatabaseConnector## ADD MEMBER [login-name-placeholder];

Configurazione aggiuntiva per l'uso dell'autenticazione SQL

Per archiviare le credenziali di autenticazione in modo sicuro, l'uso dell'autenticazione SQL nel database watcher richiede una configurazione aggiuntiva.

Suggerimento

Per una configurazione più sicura, più semplice e meno soggetta a errori, è consigliabile abilitare l'autenticazione di Microsoft Entra per le risorse SQL di Azure e usarla invece dell'autenticazione SQL.

Per configurare il database watcher per connettersi a una destinazione tramite l'autenticazione SQL, seguire questa procedura:

  1. Creare un insieme di credenziali in Azure Key Vault o identificare un insieme di credenziali esistente che è possibile usare. L'insieme di credenziali deve usare il modello di autorizzazione Controllo degli accessi in base al ruolo. Il modello di autorizzazione Controllo degli accessi in base al ruolo è l'impostazione predefinita per i nuovi insiemi di credenziali. Se si desidera usare un insieme di credenziali esistente, assicurarsi che non sia configurato per l'uso del modello di criteri di accesso precedente.

    Se si desidera usare la connettività privata all'insieme di credenziali, creare un endpoint privato nella pagina Endpoint privati gestiti. Selezionare Microsoft.KeyVault/vaults come Tipo di risorsa e vault come Sotto-risorsa di destinazione. Verificare che l'endpoint privato sia nello stato Approvato prima di avviare il watcher.

    Se si desidera usare la connettività pubblica, l'insieme di credenziali deve avere accesso pubblico da tutte le reti abilitate. La limitazione della connettività dell'insieme di credenziali pubblico a reti specifiche non è supportata nel database watcher.

  2. Creare un account di accesso per l'autenticazione SQL in ogni server logico di Azure SQL o in un'istanza gestita da monitorare e concedere le specifiche autorizzazioni limitate. Usare gli script di accesso forniti per l'autenticazione SQL, e sostituire i segnaposto per nome di accesso, nome utente e password con i valori effettivi. Usare una password complessa.

  3. Nell'insieme di credenziali, creare due segreti: un segreto per il nome dell'account di accesso, e un segreto separato per la password. Usare qualsiasi nome valido come nome segreto e immettere il nome di accesso o la password usati nello script T-SQL come valore del segreto.

    Ad esempio, i nomi dei due segreti potrebbero essere database-watcher-login-name e database-watcher-password. I valori dei segreti sarebbero un nome di accesso e una password complessa.

    Per creare segreti, è necessario essere membri del ruolo Controllo degli accessi in base al ruolo del Responsabile dei segreti dell'insieme di credenziali delle chiavi.

  4. Nella pagina Controllo di accesso (IAM) di ogni segreto, aggiungere un'assegnazione di ruolo per l'identità gestita del watcher nel ruolo Controllo degli accessi in base al ruolo dell'Utente dei segreti dell'insieme di credenziali delle chiavi. Per seguire il principio dei privilegi minimi, aggiungere questa assegnazione di ruolo per ogni segreto, anziché per l'intero insieme di credenziali. La pagina Controllo di accesso (IAM) viene visualizzata solo se l'insieme di credenziali è configurato per l'uso del modello di autorizzazione di Controllo degli accessi in base al ruolo.

  5. Aggiungere una destinazione SQL a un watcher. Quando si aggiunge una destinazione, spuntare la casella Usa autenticazione SQL e selezionare il vault in cui sono memorizzati il nome e la password di accesso segreti. Inserire i nomi segreti per il nome di login e la password nei campi corrispondenti.

    Quando si aggiunge una destinazione SQL, non immettere il nome di accesso e la password effettivi. Usando l'esempio precedente, immettere i nomi dei segreti database-watcher-login-name e database-watcher-password.

Se si desidera usare diverse credenziali di autenticazione SQL in destinazioni SQL diverse, è possibile usare lo stesso vault per memorizzare tutti i segreti.

Nota

Se si aggiorna il valore del segreto per un nome di accesso o una password nell'insieme di credenziali delle chiavi durante l'esecuzione di un watcher, il watcher si riconnette alle destinazioni usando le nuove credenziali di autenticazione SQL entro 15 minuti. Per iniziare subito a usare le nuove credenziali, arrestare e riavviare il watcher.

Concedere l'accesso all'archivio dati

Per creare e gestire lo schema del database nel tempo e per inserire i dati di monitoraggio, il database watcher richiede l'appartenenza al ruolo controllo degli accessi in base al ruolo come Amministrazione nel database dell'archivio dati in un cluster di Esplora dati di Azure o in Analisi in tempo reale. Il database watcher non richiede l'accesso a livello di cluster al cluster di Esplora dati di Azure o qualsiasi accesso ad altri database che potrebbero trovarsi nello stesso cluster.

Se si crea un nuovo cluster e un database di Esplora dati di Azure oppure si seleziona un database in un cluster esistente durante la creazione di un watcher, tale accesso viene concesso automaticamente se l'utente che crea il watcher è membro del ruolo Controllo degli accessi in base al ruolo di Proprietario per il cluster.

Se si modifica l'archivio dati per un watcher esistente o se si usa un database in Analisi in tempo reale o in un cluster di Esplora dati di Azure gratuito, è necessario concedere l'accesso come descritto in questa sezione.

Concedere l'accesso a un database Esplora dati di Azure usando il portale di Azure

Si può usare il portale di Azure per concedere l'accesso a un database nel cluster di Esplora dati di Azure:

  1. Per un database in un cluster di Esplora dati di Azure, nel menu delle risorse in Sicurezza e rete selezionare Autorizzazioni. Non usare la pagina Autorizzazioni del cluster.
  2. Selezionare Aggiungi, poi Amministrazione.
  3. Nella pagina Nuove entità di sicurezza, selezionare Applicazioni aziendali e digitare il nome del watcher nella casella Cerca.
  4. Selezionare l'applicazione aziendale con lo stesso nome del watcher.

Concedere l'accesso a un database Esplora dati di Azure usando KQL

Anziché usare il portale di Azure, è anche possibile concedere l'accesso al database usando un comando KQL. Usare questo metodo per concedere l'accesso a un database in Analisi in tempo reale o in un cluster di Esplora dati di Azure gratuito.

  1. Connessione a un database nel cluster di Esplora dati di Azure usando Kusto Explorer o l'interfaccia utente Web di Esplora dati di Azure.

  2. Nel seguente comando KQL di esempio, sostituire tre segnaposto come indicato nella tabella:

    .add database [adx-database-name-placeholder] admins ('aadapp=watcher-object-id-placeholder;tenant-primary-domain-placeholder');
    
    Segnaposto Sostituzione
    adx-database-name-placeholder Nome di un database in un cluster di Esplora dati di Azure o in Analisi in tempo reale.
    watcher-object-id-placeholder Valore ID dell'oggetto (principale) (GUID), disponibile nella pagina Identità del watcher.
    tenant-primary-domain-placeholder Il nome di dominio del tenant Microsoft Entra ID del watcher. È disponibile nella pagina Panoramica di Microsoft Entra ID nel portale di Azure. Anziché il dominio primario del tenant, è possibile usare anche il valore GUID ID tenant.

    SI può omettere questa parte del comando (e il punto e virgola precedente) se il watcher e il cluster di Esplora dati di Azure si trovano nello stesso tenant di Microsoft Entra ID.

    Ad esempio:

    .add database [watcher_data_store] admins ('aadapp=9da7bf9d-3098-46b4-bd9d-3b772c274931;contoso.com');
    

Per altre informazioni, vedere Controllo degli accessi in base al ruolo di Kusto.

Concedere l'accesso all'archivio dati a utenti e gruppi

È possibile usare il portale di Azure o un comando KQL per concedere a utenti e gruppi l'accesso a un database su un cluster di Esplora dati di Azure o Analisi in tempo reale. Per concedere l'accesso, è necessario essere membri del ruolo controllo degli accessi in base al ruolo Amministrazione nel database.

Usare un comando KQL concedere l'accesso a un database nel cluster gratuito di Esplora dati di Azure o in Analisi in tempo reale. Per seguire il principio dei privilegi minimi, è consigliabile non aggiungere utenti e gruppi a un ruolo controllo degli accessi in base al ruolo diverso da Visualizzatore per impostazione predefinita.

Importante

Considerare attentamente i requisiti di privacy e sicurezza dei dati quando si concede l'accesso per visualizzare i dati di monitoraggio SQL raccolti dal database watcher.

Anche se il database watcher non ha la possibilità di raccogliere dati archiviati nelle tabelle utente nei database SQL, alcuni set di dati, ad esempio sessioni attive, metadati di indice, indici mancanti, statistiche dei runtime di query, statistiche dell'attesa di query, statistiche di sessione e metadati di tabella potrebbero contenere dati potenzialmente sensibili, ad esempio nomi di tabella e indice, testo della query, valori dei parametri di query, nomi di accesso e così via.

Concedendo l'accesso alla visualizzazione all'archivio dati a un utente che non ha accesso per visualizzare questi dati in un database SQL, è possibile abilitarli per visualizzare i dati sensibili che non sarebbero in grado di visualizzare in altro modo.

Concedere l'accesso all'archivio dati tramite il portale di Azure

Si può usare il portale di Azure per concedere a utenti e gruppi l'accesso a un database in un cluster di Esplora dati di Azure:

  1. Per un database in un cluster di Esplora dati di Azure, nel menu delle risorse in Sicurezza e rete, selezionare Autorizzazioni. Non usare la pagina Autorizzazioni del cluster.
  2. Selezionare Aggiungi, poi Spettatori.
  3. Nella pagina Nuove entità di sicurezza, digitare il nome dell'utente o del gruppo nella casella di Ricerca.
  4. Selezionare l'utente o il gruppo.

Concedere l'accesso all'archivio dati usando KQL

Anziché usare il portale di Azure, si può anche concedere l'accesso al database a utenti e gruppi usando un comando KQL. I seguenti comandi KQL esemplificativi concedono l'accesso in lettura ai dati all'utente mary@contoso.com e al gruppo SQLMonitoringUsers@contoso.com in un tenant di Microsoft Entra ID con un valore ID tenant specifico:

.add database [watcher_data_store] viewers ('aaduser=mary@contoso.com');

.add database [watcher_data_store] viewers ('aadgroup=SQLMonitoringUsers@contoso.com;8537e70e-7fb8-43d3-aac5-8b30fb3dcc4c');

Per altre informazioni, vedere Controllo degli accessi in base al ruolo di Kusto.

Per concedere l'accesso all'archivio dati a utenti e gruppi da un altro tenant, è necessario abilitare l'autenticazione tra tenant nel cluster di Esplora dati di Azure. Per altre informazioni, vedere Consentire query e comandi tra tenant.

Suggerimento

L'autenticazione tra tenant è abilitata in Analisi in tempo reale e nei cluster di Esplora dati di Azure gratuiti. Ciò consente di concedere l'accesso a utenti e gruppi nel tenant di Microsoft Entra ID per visualizzare i dati in questi database.

Gestire l'archivio dati

Questa sezione descrive come gestire l'archivio dati di monitoraggio, che include scalabilità, conservazione dei dati e altre configurazioni. Le considerazioni sul ridimensionamento del cluster in questa sezione sono rilevanti se si usa un database nel cluster di Esplora dati di Azure. Se si usa un database in Analisi in tempo reale in Fabric, il ridimensionamento viene gestito automaticamente.

Ridimensionamento del cluster di Esplora dati di Azure

È possibile ridimensionare il cluster di Esplora dati di Azure in base alle esigenze. Ad esempio, è possibile ridurre il cluster allo SKU di sviluppo/test extra small se non è necessario un contratto di servizio e se le prestazioni di query e inserimento dati rimangono accettabili.

Per molte distribuzioni del database watcher, lo SKU predefinito Extra small, Con ottimizzazione per il calcolo con 2 istanze del cluster sarà sufficiente per un periodo illimitato. In alcuni casi, a seconda della configurazione e delle modifiche del carico di lavoro nel tempo, potrebbe essere necessario ridimensionare il cluster per garantire prestazioni di query adeguate e mantenere bassa latenza di inserimento dati.

Esplora dati di Azure supporta il ridimensionamento verticale e orizzontale del cluster. Con il ridimensionamento verticale, si modifica lo SKU del cluster, alterando quindi il numero di vCPU, memoria e cache per ogni istanza (nodo). Con il ridimensionamento orizzontale, lo SKU rimane invariato, ma il numero di istanze nel cluster viene aumentato o diminuito.

È necessario aumentare il numero di istanze del cluster (orizzontalmente) o aumentare (verticalmente) se si notano uno o più dei sintomi seguenti:

  • Le prestazioni della dashboard o delle query ad hoc diventano troppo lente.
  • Si eseguono molte query simultanee nel cluster e si osservano gli errori di limitazione.
  • La latenza di inserimento dati diventa costantemente superiore a quella accettabile.

In generale, non è necessario ridimensionare il cluster man mano che la quantità di dati nell'archivio dati aumenta nel tempo. Ciò è dovuto al fatto che le query della dashboard e le query analitiche più comuni usano solo i dati più recenti, memorizzati nella cache nell'archiviazione SSD locale nei nodi del cluster.

Tuttavia, se si eseguono query analitiche che si estendono su intervalli di tempo più lunghi, potrebbero risultare più lente nel corso del tempo, man mano che la quantità totale di dati raccolti aumenta e non rientra più nell'archiviazione SSD locale. In tal caso, potrebbe essere necessario ridimensionare il cluster per mantenere prestazioni di query adeguate.

  • Se è necessario ridimensionare il cluster, è consigliabile ridimensionarlo dapprima orizzontalmente per aumentare il numero di istanze. In questo modo, il cluster viene mantenuto disponibile per le query e l'inserimento durante il processo di ridimensionamento.

    • È possibile abilitare la scalabilità automatica ottimizzata per ridurre o aumentare automaticamente il numero di istanze in risposta alle modifiche apportate al carico di lavoro o alle tendenze stagionali.
  • È possibile che, anche dopo aver ridimensionato il cluster orizzontalmente, alcune query non vengano comunque eseguite come previsto. Ciò può verificarsi se le prestazioni delle query sono associate alle risorse disponibili in un'istanza (nodo) del cluster. In tal caso, aumentare le prestazioni del cluster verticalmente.

    • Il ridimensionamento verticale del cluster richiede svariati minuti. Durante tale processo, si verifica un periodo di tempo inattivo che può interrompere la raccolta di dati da parte del watcher. In tal caso, arrestare e riavviare il watcher al termine dell'operazione di ridimensionamento.

Non si può ridimensionare un cluster di Esplora dati di Azure gratuito. Se si ritiene che le specifiche del cluster gratuito non siano sufficienti per i requisiti, eseguire l'aggiornamento a un cluster completo di Esplora dati di Azure. Il processo di aggiornamento mantiene tutti i dati raccolti. Poiché potrebbe verificarsi un periodo di tempo inattivo durante l'aggiornamento, potrebbe essere necessario arrestare e riavviare il watcher per riprendere la raccolta di dati al termine dell'aggiornamento.

Gestire la conservazione dei dati

Se non sono necessari dati meno recenti, è possibile configurare i criteri di conservazione dei dati per rimuoverli automaticamente in modo definitivo. Per impostazione predefinita, in un nuovo database su un cluster di Esplora dati di Azure o in Analisi in tempo reale, la conservazione dei dati è impostata su 365 giorni.

  • È possibile ridurre il periodo di conservazione dei dati a livello di database o per singole tabelle del database.
  • Si può anche aumentare la conservazione se è necessario archiviare i dati di monitoraggio per più di un anno. Non esiste alcun limite massimo per il periodo di conservazione dei dati.
  • Se si configurano diversi periodi di conservazione dei dati per tabelle diverse, le dashboard potrebbero non funzionare come previsto per gli intervalli di tempo precedenti. Ciò può verificarsi se i dati sono ancora presenti in alcune tabelle, ma sono già stati rimossi definitivamente in altre tabelle per lo stesso intervallo di tempo.

Modifiche dello schema e dell'accesso nell'archivio dati del database watcher

Nel corso del tempo, Microsoft potrebbe introdurre nuovi set di dati del database watcher o espandere i set di dati esistenti. Ciò significa che è possibile aggiungere automaticamente nuove tabelle nell'archivio dati o nuove colonne nelle tabelle esistenti.

A tale scopo, l'identità gestita di un database watcher deve essere un membro del ruolo controllo degli accessi in base al ruolo di Amministrazione nell'archivio dati. La revoca dell'appartenenza a questo ruolo o la sostituzione con l'appartenenza a qualsiasi altro ruolo controllo degli accessi in base al ruolo può influire sulla raccolta dei dati e sulla gestione dello schema del database watcher e non è supportata.

Analogamente, la creazione di nuovi oggetti, ad esempio tabelle, tabelle esterne, viste materializzate, funzioni e così via, nell'archivio dati del database watcher non è supportata. Si possono usare query tra cluster e tra database per eseguire query sui dati nell'archivio dati da altri cluster di Esplora dati di Azure, o da altri database nello stesso cluster.

Importante

Se si modifica l'accesso del database watcher al suo archivio dati o si apportano modifiche alla configurazione o allo schema del database che influiscono sull'inserimento dati, potrebbe essere necessario modificare l'archivio dati per tale watcher in un nuovo database vuoto e concedere al watcher l'accesso a questo nuovo database per riprendere la raccolta di dati e ripristinare una configurazione supportata.

Cluster di Esplora dati di Azure arrestati

Si può arrestare un cluster di Esplora dati di Azure, ad esempio, per risparmiare sui costi. Per impostazione predefinita, un cluster creato nel portale di Azure viene arrestato automaticamente dopo svariati giorni di inattività. Ad esempio, ciò può verificarsi se si arresta il watcher che inserisce i dati nell'unico database nel cluster e non si eseguono query in questo database.

Se si usa l'opzione predefinita per creare un nuovo cluster di Esplora dati di Azure durante la creazione di un nuovo watcher, il comportamento di arresto automatico è disabilitato per consentire la raccolta di dati senza interruzioni.

Se il cluster viene arrestato, la raccolta di dati del database watcher si arresta e i dati di monitoraggio non vengono visualizzati nelle dashboard. Per riprendere la raccolta di dati e rendere accessibili i dati tramite dashboard, è necessario riprendere manualmente il cluster. Quando il cluster è in esecuzione, riavviare il watcher.

È possibile disattivare il comportamento di arresto automatico se si vuole che il cluster rimanga disponibile anche quando è inattivo. Ciò potrebbe aumentare il costo del cluster.

Inserimento del flusso

Il database watcher richiede che il cluster di Esplora dati di Azure contenente il database dell'archivio dati abbia abilitato l'inserimento in streaming. L'inserimento in streaming viene abilitato automaticamente per il nuovo cluster di Esplora dati di Azure creato quando si crea un nuovo watcher. L'autenticazione tra tenant è abilitata in Analisi in tempo reale e nei cluster di Esplora dati di Azure gratuiti.

Se si usa un cluster di Esplora dati di Azure esistente, è necessario abilitare l'inserimento in streaming. L'operazione richiede alcuni minuti e riavvia il cluster.

Monitorare ambienti di grandi dimensioni

Per monitorare un ambiente Azure SQL di grandi dimensioni, potrebbe essere necessario creare più watcher.

Ogni watcher richiede un database in un cluster di Esplora dati di Azure o in Analisi in tempo reale come archivio dati. I watcher creati possono usare un database singolo come archivio dati comune o database separati come archivi dati separati. Le seguenti considerazioni consentono di fare una scelta di progettazione ottimale per gli scenari e i requisiti di monitoraggio.

Considerazioni per un archivio dati comune:

  • È disponibile una visualizzazione a riquadro singolo dell'intero ambiente Azure SQL.
  • Tuttavia, gli utenti con accesso all'archivio dati hanno accesso a tutti i dati di monitoraggio.

Considerazioni per archivi dati separati:

  • I sottoinsiemi dell'ambiente Azure SQL vengono monitorati in modo indipendente. Le dashboard di ambiente nel portale di Azure mostrano i dati da un singolo archivio dati. Gli utenti con accesso a più archivi dati possono usare query KQL tra cluster o tra database per accedere ai dati di monitoraggio in più archivi dati usando una singola query.
  • Poiché l'accesso ai dati in Esplora dati di Azure e in Analisi in tempo reale viene gestito per ogni database, è possibile gestire l'accesso ai dati di monitoraggio per i sottoinsiemi dell'ambiente in modo granulare.
  • È possibile posizionare più database nello stesso cluster di Esplora dati di Azure per condividere le risorse del cluster e risparmiare sui costi, mantenendo comunque i dati isolati in ogni database.
  • Se è necessaria una separazione completa degli ambienti, incluso l'accesso di rete ai cluster di Esplora dati di Azure, è possibile posizionare database diversi in cluster diversi.