sys.dm_os_sys_info (Transact-SQL)

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsPiattaforma di strumenti analitici (PDW)

Restituisce un set vario di informazioni utili sul computer e sulle risorse disponibili per e utilizzate da SQL Server.

Nota

Per chiamare questa operazione da Azure Synapse Analytics o da Platform System (PDW), usare il nome sys.dm_pdw_nodes_os_sys_info. Questa sintassi non è supportata da pool SQL serverless in Azure Synapse Analytics.

Nome colonna Tipo di dati Descrizione e note specifiche della versione
cpu_ticks bigint Specifica il conteggio dei controlli cpu corrente. I tick della CPU vengono recuperati dal contatore RDTSC del processore. È un numero in aumento monotonico. Non ammette i valori NULL.
ms_ticks bigint Specifica il numero di millisecondi dall'avvio del computer. Non ammette i valori NULL.
cpu_count int Specifica il numero di CPU logiche nel sistema. Non ammette i valori NULL.

In database SQL di Azure questa colonna potrebbe restituire il numero di CPU logiche nel computer che ospita il database o il pool elastico. Per determinare il numero di CPU logiche disponibili per il database o il pool elastico, usare la cpu_limit colonna in sys.dm_user_db_resource_governance.
hyperthread_ratio int Specifica il rapporto del numero dei core logici o fisici esposti da un pacchetto del processore fisico. Non ammette i valori NULL.
physical_memory_in_bytes bigint Si applica a: SQL Server 2008 (10.0.x) e SQL Server 2008 R2 (10.50.x).

Specifica la quantità totale di memoria fisica disponibile nel computer. Non ammette i valori NULL.
physical_memory_kb bigint Si applica a: SQL Server 2012 (11.x) e versioni successive.

Specifica la quantità totale di memoria fisica disponibile nel computer. Non ammette i valori NULL.

In database SQL di Azure questa colonna restituisce la quantità totale di memoria fisica nel computer che ospita il database o il pool elastico. Per determinare la quantità di memoria fisica disponibile per il database o il pool elastico, usare la process_memory_limit_mb colonna in sys.dm_os_job_object.
virtual_memory_in_bytes bigint Si applica a: SQL Server 2008 (10.0.x) e SQL Server 2008 R2 (10.50.x).

Quantità di memoria virtuale disponibile per il processo in modalità utente. Questo valore può essere usato per determinare se SQL Server è stato avviato usando un commutatore da 3 GB.
virtual_memory_kb bigint Si applica a: SQL Server 2012 (11.x) e versioni successive.

Specifica la quantità totale di spazio degli indirizzi virtuali disponibile per il processo in modalità utente. Non ammette i valori NULL.
bpool_committed int Si applica a: SQL Server 2008 (10.0.x) e SQL Server 2008 R2 (10.50.x).

Rappresenta la memoria di cui è stato eseguito il commit in kilobyte (KB) nel gestore della memoria. Non include memoria riservata nel gestore della memoria. Non ammette i valori NULL.
committed_kb bigint Si applica a: SQL Server 2012 (11.x) e versioni successive.

Rappresenta la memoria di cui è stato eseguito il commit in kilobyte (KB) nel gestore della memoria. Non include memoria riservata nel gestore della memoria. Non ammette i valori NULL.
bpool_commit_target int Si applica a: SQL Server 2008 (10.0.x) e SQL Server 2008 R2 (10.50.x).

Rappresenta la quantità di memoria, in kilobyte (KB), che può essere utilizzata dal gestore della memoria di SQL Server.
committed_target_kb bigint Si applica a: SQL Server 2012 (11.x) e versioni successive.

Rappresenta la quantità di memoria, in kilobyte (KB), che può essere utilizzata dal gestore della memoria di SQL Server. La quantità di destinazione viene calcolata usando diversi input, ad esempio:

- lo stato corrente del sistema, incluso il relativo carico
- memoria richiesta dai processi correnti
- Quantità di memoria installata nel computer
- parametri di configurazione

Se committed_target_kb è maggiore di committed_kb, gestione memoria tenta di ottenere più memoria. Se committed_target_kb è minore di committed_kb, la gestione della memoria tenta di ridurre la quantità di memoria di cui è stato eseguito il commit. Include committed_target_kb sempre memoria rubata e riservata. Non ammette i valori NULL.
bpool_visible int Si applica a: SQL Server 2008 (10.0.x) e SQL Server 2008 R2 (10.50.x).

Numero di buffer da 8 KB nel pool di buffer a cui è possibile accedere direttamente nello spazio degli indirizzi virtuali di processo. Quando non si usa address windowing Extensions (AWE), quando il pool di buffer ottiene la destinazione di memoria (bpool_committed = bpool_commit_target), il valore di bpool_visible è uguale al valore di bpool_committed. Quando si usa AWE in una versione a 32 bit di SQL Server, bpool_visible rappresenta le dimensioni della finestra di mapping AWE usata per accedere alla memoria fisica allocata dal pool di buffer. Le dimensioni di questa finestra di mapping sono associate allo spazio degli indirizzi del processo e quindi la quantità visibile è inferiore a quella di cui è stato eseguito il commit. Questo valore può essere ulteriormente ridotto dai componenti interni che utilizzano memoria, a scopo diverso dalle pagine del database. Se il valore di bpool_visible è troppo basso, è possibile che vengano visualizzati errori di memoria insufficiente.
visible_target_kb bigint Si applica a: SQL Server 2012 (11.x) e versioni successive.

Equivale a committed_target_kb. Non ammette i valori NULL.
stack_size_in_bytes int Specifica le dimensioni dello stack di chiamate per ogni thread creato da SQL Server. Non ammette i valori NULL.
os_quantum bigint Rappresenta il quantum per un'attività non preemptive misurato in millisecondi. Quantum (in secondi) = os_quantum / velocità del clock della CPU. Non ammette i valori NULL.
os_error_mode int Specifica la modalità di errore per il processo di SQL Server. Non ammette i valori NULL.
os_priority_class int Specifica la classe di priorità per il processo di SQL Server. Ammette valori Null.

32 = Normale. Il log degli errori indica che SQL Server inizia alla base di priorità normale (7).
128 = Alto. Il log degli errori indica che SQL Server è in esecuzione a una base con priorità elevata (13).

Per altre informazioni, vedere Configurare l'opzione priority boost (opzione di configurazione del server).
max_workers_count int Rappresenta il numero massimo di thread di lavoro che è possibile creare. Non ammette i valori NULL.
scheduler_count int Rappresenta il numero di utilità di pianificazione utente configurate nel processo di SQL Server. Non ammette i valori NULL.
scheduler_total_count int Rappresenta il numero totale di utilità di pianificazione in SQL Server. Non ammette i valori NULL.
deadlock_monitor_serial_number int Specifica l'ID della sequenza corrente di monitoraggio dei deadlock. Non ammette i valori NULL.
sqlserver_start_time_ms_ticks bigint Rappresenta il numero dell'ultimo ms_tick avvio di SQL Server. Confrontare con la colonna corrente ms_ticks . Non ammette i valori NULL.
sqlserver_start_time datetime Specifica la data e l'ora dell'ultimo avvio di SQL Server del sistema locale. Non ammette i valori NULL.

Le informazioni in molte altre DMV di SQL Server includono solo attività dall'avvio dell'ultimo motore di database. Usare questa colonna per trovare l'ultima ora di avvio di SQL Server motore di database.
affinity_type int Si applica a: SQL Server 2008 R2 (10.50.x) e versioni successive.

Viene specificato il tipo di affinità di processo CPU server attualmente in uso. Non ammette i valori NULL. Per altre informazioni, vedere ALTER edizione Standard RVER CONFIGURATION (Transact-SQL).

1 = MANUAL
2 = AUTO
affinity_type_desc nvarchar(60) Si applica a: SQL Server 2008 R2 (10.50.x) e versioni successive.

Descrive la affinity_type colonna . Non ammette i valori NULL.

MANUAL = l'affinità è stata impostata per almeno una CPU.
AUTO = SQL Server può spostare liberamente i thread tra CPU.
process_kernel_time_ms bigint Si applica a: SQL Server 2008 R2 (10.50.x) e versioni successive.

Tempo totale in millisecondi impiegato da tutti i thread di SQL Server in modalità kernel. Questo valore può essere maggiore di un singolo clock del processore perché è incluso il tempo di tutti i processori nel server. Non ammette i valori NULL.
process_user_time_ms bigint Si applica a: SQL Server 2008 R2 (10.50.x) e versioni successive.

Tempo totale in millisecondi impiegato da tutti i thread di SQL Server in modalità utente. Questo valore può essere maggiore di un singolo clock del processore perché è incluso il tempo di tutti i processori nel server. Non ammette i valori NULL.
time_source int Si applica a: SQL Server 2008 R2 (10.50.x) e versioni successive.

Indica l'API usata da SQL Server per recuperare l'ora dell'orologio a parete. Non ammette i valori NULL.

0 = QUERY_PERFORMANCE_COUNTER
1 = MULTIMEDIA_TIMER
time_source_desc nvarchar(60) Si applica a: SQL Server 2008 R2 (10.50.x) e versioni successive.

Descrive la time_source colonna . Non ammette i valori NULL.

QUERY_PERFORMANCE_COUNTER= l'API QueryPerformanceCounter recupera l'ora dell'orologio a parete.
MULTIMEDIA_TIMER= API timer multimediale che recupera l'ora del clock del muro.
virtual_machine_type int Si applica a: SQL Server 2008 R2 (10.50.x) e versioni successive.

Indica se SQL Server è in esecuzione in un ambiente virtualizzato. Non ammette i valori NULL.

0 = NONE
1 = HYPERVISOR
2 = OTHER
virtual_machine_type_desc nvarchar(60) Si applica a: SQL Server 2008 R2 (10.50.x) e versioni successive.

Descrive la virtual_machine_type colonna . Non ammette i valori NULL.

NONE = SQL Server non è in esecuzione all'interno di una macchina virtuale.
HYPERVISOR = SQL Server è in esecuzione all'interno di una macchina virtuale ospitata da un sistema operativo che esegue hypervisor (un sistema operativo host che usa la virtualizzazione assistita dall'hardware).
OTHER = SQL Server è in esecuzione all'interno di una macchina virtuale ospitata da un sistema operativo che non usa assistente hardware, ad esempio Microsoft Virtual PC.
softnuma_configuration int Si applica a: SQL Server 2016 (13.x) e versioni successive.

Specifica la modalità di configurazione dei nodi NUMA. Non ammette i valori NULL.

0 = OFF indica l'impostazione predefinita hardware
1 = Soft-NUMA automatizzato
2 = Soft-NUMA manuale tramite registro
softnuma_configuration_desc nvarchar(60) Si applica a: SQL Server 2016 (13.x) e versioni successive.

OFF = La funzionalità Soft-NUMA è disattivata
ON = SQL Server determina automaticamente le dimensioni dei nodi NUMA per Soft-NUMA
MANUAL = Soft-NUMA configurato manualmente
process_physical_affinity nvarchar(3072) Si applica a: a partire da SQL Server 2017 (14.x).

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.
sql_memory_model int Si applica a: SQL Server 2012 (11.x) SP4, SQL Server 2016 (13.x) SP1 e versioni successive.

Specifica il modello di memoria usato da SQL Server per allocare memoria. Non ammette i valori NULL.

1 = Modello di memoria convenzionale
2 = Bloccare le pagine in memoria
3 = Pagine grandi in memoria
sql_memory_model_desc nvarchar(60) Si applica a: SQL Server 2012 (11.x) SP4, SQL Server 2016 (13.x) SP1 e versioni successive.

Specifica il modello di memoria usato da SQL Server per allocare memoria. Non ammette i valori NULL.

CONVENTIONAL = SQL Server usa il modello di memoria convenzionale per allocare memoria. Si tratta di un modello di memoria predefinito motore di database quando l'account del servizio SQL Server non ha privilegi di blocco in memoria durante l'avvio.
LOCK_PAGES = SQL Server usa pagine di blocco in memoria per allocare memoria. Si tratta dell'impostazione predefinita motore di database gestione memoria quando l'account del servizio SQL Server ha il privilegio "Blocca pagine in memoria" durante l'avvio di SQL Server.
LARGE_PAGES = SQL Server usa pagine di grandi dimensioni in memoria per allocare memoria. SQL Server usa l'allocatore pagine di grandi dimensioni per allocare memoria solo con Enterprise Edition quando l'account del servizio SQL Server ha il privilegio "Blocca pagine in memoria" durante l'avvio del server e quando il flag di traccia 834 è attivato.
pdw_node_id int Si applica a: Azure Synapse Analytics, Piattaforma di analisi (PDW)

Identificatore del nodo in cui è attiva la distribuzione.
socket_count int Si applica a: SQL Server 2016 (13.x) SP2 e versioni successive.

Specifica il numero di socket del processore disponibili nel sistema.
cores_per_socket int Si applica a: SQL Server 2016 (13.x) SP2 e versioni successive.

Specifica il numero di processori per socket disponibili nel sistema.
numa_node_count int Si applica a: SQL Server 2016 (13.x) SP2 e versioni successive.

Specifica il numero di nodi NUMA disponibili nel sistema. Questa colonna include nodi NUMA fisici e nodi NUMA soft.
container_type int Si applica a: SQL Server 2017 (14.x) e versioni successive.

Specifica il tipo di contenitore in cui SQL Server è in esecuzione. Non ammette i valori NULL.

0 (impostazione predefinita) = NONE
1 = LINUX CONTAINER
2 = WINDOWS SERVER CONTAINER
3 = HYPER-V CONTAINER
container_type_desc nvarchar(60) Si applica a: SQL Server 2017 (14.x) e versioni successive.

Descrive la container_type colonna . Non ammette i valori NULL.

NONE = SQL Server non è in esecuzione in un contenitore.
LINUX CONTAINER = SQL Server è in esecuzione in un contenitore Linux.
WINDOWS SERVER CONTAINER = SQL Server è in esecuzione in un contenitore di Windows Server.
HYPER-V CONTAINER = SQL Server è in esecuzione in un contenitore Hyper-V.

Autorizzazioni

In SQL Server 2019 (15.x) e versioni precedenti e Istanza gestita di SQL è necessaria VIEW SERVER STATE l'autorizzazione.

In SQL Server 2022 (16.x) e versioni successive è necessaria l'autorizzazione VIEW SERVER PERFORMANCE STATE per il server.

In database SQL di Azure obiettivi di servizio Basic, S0 e S1 e per i database nei pool elastici, è necessario l'account amministratore del server, l'account amministratore di Microsoft Entra o l'appartenenza al ruolo del ##MS_ServerStateReader##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##.