Share via


sys.dm_db_file_space_usage

Restituisce informazioni sull'utilizzo dello spazio per ogni file nel database.

[!NOTA] In SQL Server 2005, questa vista è applicabile solo al database tempdb.

Nome colonna Tipo di dati Descrizione

database_id

smallint

ID del database.

file_id

smallint

ID del file.

L'opzione file_id viene mappata a file_id in sys.dm_io_virtual_file_stats e a fileid in sys.sysfiles.

unallocated_extent_page_count

bigint

Numero totale di pagine negli extent non allocati nel file. Per ulteriori informazioni, vedere Pagine ed extent.

Non sono incluse le pagine non utilizzate negli extent allocati.

version_store_reserved_page_count

bigint

Numero totale di pagine negli extent uniformi allocati per l'archivio delle versioni. Le pagine dell'archivio delle versioni non vengono mai allocate dagli extent misti.

Le pagine IAM non vengono incluse perché vengono sempre allocate dagli extent misti. Le pagine PFS vengono incluse se vengono allocate da un extent uniforme.

Per ulteriori informazioni, vedere sys.dm_tran_version_store.

user_object_reserved_page_count

bigint

Numero totale di pagine allocate da extent uniformi per gli oggetti utente nel database. Sono incluse nel conteggio le pagine non utilizzate da un extent allocato.

Le pagine IAM non vengono incluse perché vengono sempre allocate dagli extent misti. Le pagine PFS vengono incluse se vengono allocate da un extent uniforme.

È possibile utilizzare la colonna total_pages nella vista del catalogo sys.allocation_units per restituire il conteggio della pagine riservate in ogni unità di allocazione nell'oggetto utente. Si noti, tuttavia, che la colonna total_pages include le pagine IAM.

internal_object_reserved_page_count

bigint

Numero totale di pagine negli extent uniformi allocate per gli oggetti interni nel file. Sono incluse nel conteggio le pagine non utilizzate da un extent allocato.

Le pagine IAM non vengono incluse perché vengono sempre allocate dagli extent misti. Le pagine PFS vengono incluse se vengono allocate da un extent uniforme.

Non esistono viste del catalogo o oggetti a gestione dinamica che restituiscono il conteggio delle pagine di ogni oggetto interno.

mixed_extent_page_count

bigint

Numero totale di pagine allocate e non allocate negli extent misti allocati nel file. Gli extent misti contengono le pagine allocate a oggetti diversi. In questo conteggio sono incluse tutte le pagine IAM nel file.

Autorizzazioni

È richiesta l'autorizzazione VIEW SERVER STATE nel server.

Osservazioni

I conteggi di pagine vengono sempre eseguiti a livello di extent. I relativi valori saranno pertanto sempre multipli di otto. Agli extent contenenti le pagine di allocazione GAM (Global Allocation Map, mappa di allocazione globale) e SGAM (Shared Global Allocation Map, mappa di allocazione globale condivisa) vengono allocati extent uniformi. Non vengono inclusi nei conteggi di pagine precedentemente descritti.

Il contenuto dell'archivio delle versioni corrente è disponibile in sys.dm_tran_version_store. Viene tenuto traccia delle pagine dell'archivio delle versioni a livello di file anziché a livello di sessione o attività in quanto tali pagine sono risorse globali. Una sessione può generare versioni, ma le versioni non possono essere rimosse al termine della sessione. È necessario considerare l'operazione di pulitura dell'archivio delle versioni come la transazione con esecuzione più lunga che deve accedere alla versione precedente. Per individuare la transazione con esecuzione più lunga relativa alla pulitura dell'archivio delle versioni, visualizzare la colonna elapsed_time_seconds in sys.dm_tran_active_snapshot_database_transactions.

Frequenti variazioni nella colonna mixed_extent_page_count possono indicare un frequente utilizzo di pagine SGAM. In questo caso, è possibile rilevare numerose attese PAGELATCH_UP in cui la risorsa attesa è una pagina SGAM. Per ulteriori informazioni, vedere sys.dm_os_waiting_tasks, sys.dm_os_wait_stats e sys.dm_os_latch_stats. Per ulteriori informazioni sulle pagine SGAM, vedere Gestione delle allocazioni di extent e dello spazio libero.

Oggetti utente

Nei contatori di pagine di oggetti utente sono inclusi gli oggetti seguenti:

  • 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 valutate a livello di tabella

Oggetti interni

Gli oggetti interni sono disponibili solo in tempdb. Nei contatori di pagine di oggetti interni sono inclusi gli oggetti seguenti:

  • Tabelle di lavoro per operazioni cursore o spool e archiviazione di oggetti LOB (Large Object) temporanei
  • File di lavoro per operazioni quali un hash join
  • Operazioni di ordinamento

Cardinalità delle relazioni

Da A Relazione

sys.dm_db_file_space_usage.database_id, file_id

sys.dm_io_virtual_file_stats.database_id, file_id

Uno-a-uno

Esempi

Per esempi sull'utilizzo della vista sys.dm_db_file_space_usage, vedere Risoluzione dei problemi relativi allo spazio su disco insufficiente in tempdb.

Vedere anche

Riferimento

Funzioni e viste a gestione dinamica
Viste a gestione dinamica relative ai database
sys.dm_db_task_space_usage
sys.dm_db_session_space_usage

Altre risorse

Pagine ed extent
Risoluzione dei problemi relativi allo spazio su disco insufficiente in tempdb

Guida in linea e informazioni

Assistenza su SQL Server 2005