sys.dm_os_sys_info (Transact-SQL)
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma 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 SERVER 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 hardware1 = Soft-NUMA automatizzato2 = 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 è disattivataON = SQL Server determina automaticamente le dimensioni dei nodi NUMA per Soft-NUMAMANUAL = 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 convenzionale2 = Bloccare le pagine in memoria3 = 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##
.