Condividi tramite


sys.dm_db_incremental_stats_properties (Transact-SQL)

Si applica a: SQL Server

Restituisce le proprietà delle statistiche incrementali per l'oggetto di database specificato (tabella) nel database di SQL Server corrente. L'uso di sys.dm_db_incremental_stats_properties (che contiene un numero di partizione) è simile a sys.dm_db_stats_properties usato per le statistiche non incrementali.

Questa funzione è stata introdotta in SQL Server 2014 (12.x) Service Pack 2 e SQL Server 2016 (13.x) Service Pack 1.

Sintassi

sys.dm_db_incremental_stats_properties (object_id, stats_id)  

Argomenti

object_id
ID dell'oggetto nel database corrente per il quale sono richieste le proprietà di una delle relative statistiche incrementali. object_id è di tipo int.

stats_id
ID delle statistiche per l'oggetto object_idspecificato. L'ID delle statistiche può essere ottenuto dalla DMV sys.stats . stats_id è di tipo int.

Tabella restituita

Nome colonna Tipo di dati Descrizione
object_id int ID dell'oggetto (tabella) per cui restituire le proprietà dell'oggetto statistiche.
stats_id int ID dell'oggetto statistiche. Il valore è univoco all'interno della tabella. Per altre informazioni, vedere sys.stats (Transact-SQL).
partition_number int Numero di partizione che contiene la parte della tabella.
last_updated datetime2 Data e ora dell'ultimo aggiornamento dell'oggetto statistiche. Per altre informazioni, vedere la sezione Osservazioni più avanti nella pagina.
rows bigint Numero totale di righe della tabella al momento dell'ultimo aggiornamento delle statistiche. Se le statistiche vengono filtrate o corrispondono a un indice filtrato, il numero di righe potrebbe essere inferiore al numero di righe della tabella.
rows_sampled bigint Numero totale di righe campionate per i calcoli statistici.
steps int Numero di intervalli nell'istogramma. Per altre informazioni, vedere DBCC SHOW_STATISTICS (Transact-SQL).
unfiltered_rows bigint Numero totale di righe nella tabella prima dell'applicazione dell'espressione di filtro (per statistiche filtrate). Se le statistiche non vengono filtrate, unfiltered_rows corrisponde al valore restituito nella colonna rows.
modification_counter bigint Numero totale di modifiche per la colonna iniziale delle statistiche, la colonna in cui viene compilato l'istogramma, dall'ultimo aggiornamento delle statistiche.

Questa colonna non contiene informazioni per le tabelle ottimizzate per la memoria.

Osservazioni:

sys.dm_db_incremental_stats_properties restituisce un set di righe vuoto in base a una delle condizioni seguenti:

  • object_id o stats_id è NULL.
  • L'oggetto specificato non viene trovato oppure non corrisponde a una tabella con statistiche incrementali.
  • L'ID delle statistiche specificato non corrisponde alle statistiche esistenti per l'ID oggetto specificato.
  • L'utente corrente non dispone delle autorizzazioni per visualizzare l'oggetto statistiche.

Questo comportamento consente l'utilizzo sicuro di sys.dm_db_incremental_stats_properties in caso di applicazione incrociata in viste quali sys.objects e sys.stats. Questo metodo può restituire le proprietà per le statistiche che corrispondono a ogni partizione. Per visualizzare le proprietà per le statistiche unite combinate in tutte le partizioni, usare sys.dm_db_stats_properties.

La data di aggiornamento delle statistiche viene archiviata nell'oggetto BLOB di statistiche insieme all'istogramma e al vettore di densità, non nei metadati. Quando non vengono letti dati per generare dati statistici, il BLOB delle statistiche non viene creato, la data non è disponibile e la colonna last_updated è NULL. È il caso delle statistiche filtrate per le quali il predicato non restituisce alcuna riga o delle nuove tabelle vuote.

Autorizzazioni

L'utente deve avere autorizzazioni di selezione per le colonne delle statistiche o essere proprietario della tabella o membro del ruolo predefinito del server sysadmin, del ruolo predefinito del database db_owner o del ruolo predefinito del database db_ddladmin.

Esempi

R. Esempio semplice

L'esempio seguente restituisce le statistiche per la tabella PartitionTable descritta nell'argomento Creare tabelle e indici partizionati.

SELECT * FROM sys.dm_db_incremental_stats_properties (object_id('PartitionTable'), 1);

Per altre informazioni sull'utilizzo, vedere sys.dm_db_stats_properties.

Vedi anche

DBCC SHOW_STATISTICS (Transact-SQL)
sys.stats (Transact-SQL)
Funzioni e viste a gestione dinamica relative agli oggetti (Transact-SQL)
Funzioni a gestione dinamica e DMV (Transact-SQL)
sys.dm_db_stats_properties
sys.dm_db_stats_histogram (Transact-SQL)