Condividi tramite


Statistiche delle query in tempo reale

Si applica a:SQL Serverdatabase SQL di AzureIstanza gestita di SQL di AzureDatabase SQL in Microsoft Fabric

SQL Server Management Studio consente di visualizzare il piano di esecuzione in tempo reale di una query attiva. Il piano dinamico delle query offre informazioni approfondite in tempo reale sul processo di esecuzione della query, man mano che i controlli passano da un operatore del piano di query a un altro. Il piano di query in tempo reale visualizza l'avanzamento complessivo delle query e le statistiche di esecuzione a livello di operatore, ad esempio il numero di righe prodotte, il tempo trascorso, lo stato dell'operatore e altro ancora.

Poiché è possibile accedere a questi dati in tempo reale senza dover attendere il completamento della query, queste statistiche di esecuzione sono estremamente utili per il debug dei problemi di prestazioni delle query.

Internamente, le statistiche delle query in tempo reale usano la DMV sys.dm_exec_query_profiles.

Warning

Questa funzionalità viene usata principalmente per la risoluzione dei problemi. L'uso di questa funzionalità può rallentare moderatamente le prestazioni complessive delle query, in particolare in SQL Server 2014 (12.x). Per altre informazioni, vedere Infrastruttura di profilatura query.
È possibile usare questa funzionalità con il debugger Transact-SQL.

Visualizzare le statistiche delle query in tempo reale per una query

  1. Per visualizzare il piano di esecuzione delle query live, scegliere l'icona Includi statistiche query live dal menu Strumenti.

    Screenshot da SQL Server Management Studio, che mostra il pulsante Live Query Stats sulla barra degli strumenti.

    È anche possibile accedere al piano di esecuzione di query dinamiche facendo clic con il pulsante destro del mouse su una query selezionata in Management Studio e quindi scegliendo Includi statistiche query dinamiche.

    Screenshot di SQL Server Management Studio, che visualizza il pulsante Live Query Statistics nel menu popup.

  2. Eseguire la interrogazione. Il piano di query in tempo reale visualizza l'avanzamento complessivo della query e le statistiche di esecuzione in tempo reale (ad esempio, tempo trascorso o avanzamento) per gli operatori del piano di query. Le informazioni sullo stato di avanzamento e le statistiche di esecuzione delle query vengono aggiornate periodicamente durante l'esecuzione delle query. Usare queste informazioni per comprendere il processo complessivo di esecuzione delle query e per eseguire il debug di query a esecuzione prolungata, query eseguite in modo illimitato, query che causano tempdb overflow e timeout.

    Screenshot da SQL Server Management Studio, che mostra il pulsante Statistiche query in tempo reale in Showplan.

Visualizzare le statistiche in tempo reale di qualsiasi query

È possibile accedere anche al piano di esecuzione live da Monitoraggio attività facendo clic con il pulsante destro del mouse su qualsiasi query nella tabella Processi o Query attive costose.

Screenshot del pulsante

Remarks

È necessario abilitare l'infrastruttura del profilo delle statistiche prima che le statistiche delle query in tempo reale possano acquisire informazioni sul progresso delle query. A seconda della versione, il sovraccarico può essere significativo. Per ulteriori informazioni su questo sovraccarico, consultare Infrastruttura di profilazione delle query.

Permissions

  • Per popolare la pagina dei risultati delle statistiche delle query in tempo reale, è necessaria l'autorizzazione al livello di database SHOWPLAN oltre a permessi necessari per eseguire la query.
  • In SQL Server è necessaria l'autorizzazione a livello di server VIEW SERVER STATE per visualizzare le statistiche dinamiche.
  • Nei livelli Premium del database SQL è necessaria l'autorizzazione VIEW DATABASE STATE nel database per visualizzare le statistiche dinamiche. Nei livelli Standard e Basic del database SQL, è necessario l'account amministratore Server o Microsoft Entra per visualizzare le statistiche in tempo reale.

Note

Microsoft Entra ID era precedentemente noto come Azure Active Directory (Azure AD).