sys.dm_db_session_space_usage (Transact-SQL)

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsDatabase SQL in Microsoft Fabric

Restituisce il numero di pagine allocate e disallocate da ciascuna sessione nel tempdb database durante la durata della sessione.

Note

Per ottenere questi dati in Azure Synapse Analytics, usa il nome sys.dm_pdw_nodes_db_session_space_usage. Questa sintassi non è supportata da pool SQL serverless in Azure Synapse Analytics.

Nome della colonna Tipo di dati Description
session_id smallint ID sessione.

session_id esegue il mapping a session_id in sys.dm_exec_sessions.
database_id smallint ID del database.

In database SQL di Azure i valori sono univoci all'interno di un database singolo o di un pool elastico, ma non all'interno di un server logico.
user_objects_alloc_page_count bigint Numero di pagine riservate o allocate per oggetti utente da questa sessione durante la sua vita.
user_objects_dealloc_page_count bigint Numero di pagine deallocate e non più riservate agli oggetti utente da questa sessione durante la sua vita.
internal_objects_alloc_page_count bigint Numero di pagine riservate o allocate per oggetti interni da questa sessione durante la sua durata.
internal_objects_dealloc_page_count bigint Numero di pagine allocate e non più riservate agli oggetti interni da questa sessione durante la sua vita.
user_objects_deferred_dealloc_page_count bigint Numero di pagine messe in coda per la disallocazione differita da questa sessione durante la sua vita.
pdw_node_id int Applica a: Azure Synapse Analytics

Identificatore del nodo in cui è attiva la distribuzione.

Permissions

In SQL Server e Istanza gestita di SQL è richiesta l'autorizzazione VIEW SERVER STATE.

Negli obiettivi del servizio Basic del Database SQL, S0 e S1 e per i database nei pool elastici, è richiesto l'account amministratore del server, l'account amministratore di Microsoft Entra o l’adesione nel ##MS_ServerStateReader## al ruolo del server. Per tutti gli altri obiettivi di servizio database SQL, è necessaria l'autorizzazione VIEW DATABASE STATE per il database o l'adesione ruolo del server ##MS_ServerStateReader##.

Autorizzazioni per SQL Server 2022 e versioni successive

Richiede VIEW il permesso SERVER PERFORMANCE STATE sul server.

Osservazioni:

Le pagine IAM non sono incluse in nessuno dei conteggi di allocazione o deallocazione riportati da questa visualizzazione.

I contapagni inizializzano a zero all'inizio di una sessione e aumentano durante la durata della sessione. I contatori tracciano il numero totale di pagine che vengono allocate o disallocate per compiti già completati nella sessione. I segnali si aggiornano solo quando un compito termina. Non riflettono i compiti in corso.

Quando viene utilizzata la deallocazione differita, la user_objects_deferred_dealloc_page_count colonna riporta le pagine messe in coda per una successiva deallocazione da parte di un processo in background. Quando la coda è lunga, la reale deallocazione può essere ritardata. Di conseguenza, l'uso dello spazio della sessione tempdb utente riportato dal user_objects_alloc_page_count - user_objects_dealloc_page_count - user_objects_deferred_dealloc_page_count calcolo potrebbe essere temporaneamente inferiore all'uso effettivo.

Una sessione può contenere più richieste attive contemporaneamente. Una richiesta può avviare più thread o task se è una query parallela.

Per altre informazioni sulle sessioni, le richieste e le attività, vedere sys.dm_exec_sessions (Transact-SQL), sys.dm_exec_requests (Transact-SQL) e sys.dm_os_tasks (Transact-SQL).

User objects (Oggetti utente)

I contatori della pagina oggetto utente includono i seguenti oggetti:

  • Tabelle e indici definiti dall'utente

  • Tabelle e indici di sistema

  • Tabelle e indici temporanei globali

  • Tabelle e indici temporanei locali

  • Variabili di tabella

  • Tabelle restituite nelle funzioni con valori di tabella

Oggetti interni

I contatori interni delle pagine oggetto includono i seguenti oggetti:

  • Tabelle di lavoro per le operazioni di spooling o di cursore e l'archiviazione di LOB (Large Object) temporanei.

  • File di lavoro per le operazioni quali un hash join

  • Ordina esecuzioni

Join fisici

Diagramma dei join fisici per sys.dm_db_session_space_usage.

Cardinalità delle relazioni

Da Per Relationship
dm_db_session_space_usage.session_id dm_exec_sessions.session_id Uno a uno