sys.dm_os_sys_info (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Devuelve un conjunto varios de información útil sobre el equipo y sobre los recursos disponibles y consumidos por SQL Server.

Nota:

Para llamar a esto desde Azure Synapse Analytics o Analytics Platform System (PDW), use el nombre sys.dm_pdw_nodes_os_sys_info. El grupo de SQL sin servidor no admite esta sintaxis en Azure Synapse Analytics.

Nombre de la columna Tipo de datos Descripción y notas específicas de la versión
cpu_ticks bigint Especifica el recuento actual de comprobaciones de CPU. Los tics de CPU se obtienen del contador de RDTSC del procesador. Es un número que aumenta monotonicamente. No acepta valores NULL.
ms_ticks bigint Especifica el número de milisegundos transcurridos desde que se inició el equipo. No acepta valores NULL.
cpu_count int Especifica el número de CPUs lógicas en el sistema. No acepta valores NULL.

En Azure SQL Database, esta columna podría devolver el número de CPU lógicas en la máquina que hospeda la base de datos o el grupo elástico. Para determinar el número de CPU lógicas disponibles para la base de datos o el grupo elástico, use la cpu_limit columna en sys.dm_user_db_resource_governance.
hyperthread_ratio int Especifica la proporción del número de núcleos lógicos o físicos expuestos por un paquete de procesadores físicos. No acepta valores NULL.
physical_memory_in_bytes bigint Se aplica a: SQL Server 2008 (10.0.x) y SQL Server 2008 R2 (10.50.x).

Especifica la cantidad total de memoria física en el equipo. No acepta valores NULL.
physical_memory_kb bigint Se aplica a: SQL Server 2012 (11.x) y versiones posteriores.

Especifica la cantidad total de memoria física en el equipo. No acepta valores NULL.

En Azure SQL Database, esta columna devuelve la cantidad total de memoria física en la máquina que hospeda la base de datos o el grupo elástico. Para determinar la cantidad de memoria física disponible para la base de datos o el grupo elástico, use la process_memory_limit_mb columna en sys.dm_os_job_object.
virtual_memory_in_bytes bigint Se aplica a: SQL Server 2008 (10.0.x) y SQL Server 2008 R2 (10.50.x).

Cantidad de memoria virtual disponible para el proceso en modo usuario. Este valor se puede usar para determinar si SQL Server se inició mediante un modificador de 3 GB.
virtual_memory_kb bigint Se aplica a: SQL Server 2012 (11.x) y versiones posteriores.

Especifica la cantidad total de espacio de direcciones virtuales disponible para el proceso en modo usuario. No acepta valores NULL.
bpool_committed int Se aplica a: SQL Server 2008 (10.0.x) y SQL Server 2008 R2 (10.50.x).

Representa la memoria confirmada en kilobytes (KB) en el administrador de memoria. No incluye memoria reservada en el administrador de memoria. No acepta valores NULL.
committed_kb bigint Se aplica a: SQL Server 2012 (11.x) y versiones posteriores.

Representa la memoria confirmada en kilobytes (KB) en el administrador de memoria. No incluye memoria reservada en el administrador de memoria. No acepta valores NULL.
bpool_commit_target int Se aplica a: SQL Server 2008 (10.0.x) y SQL Server 2008 R2 (10.50.x).

Representa la cantidad de memoria, en kilobytes (KB), que el administrador de memoria de SQL Server puede utilizar.
committed_target_kb bigint Se aplica a: SQL Server 2012 (11.x) y versiones posteriores.

Representa la cantidad de memoria, en kilobytes (KB), que el administrador de memoria de SQL Server puede utilizar. La cantidad de destino se calcula con varias entradas como:

: el estado actual del sistema, incluida su carga.
: la memoria solicitada por los procesos actuales
: la cantidad de memoria instalada en el equipo
- parámetros de configuración

Si committed_target_kb es mayor que committed_kb, el administrador de memoria intenta obtener más memoria. Si committed_target_kb es menor que committed_kb, el administrador de memoria intenta reducir la cantidad de memoria confirmada. Siempre committed_target_kb incluye memoria robada y reservada. No acepta valores NULL.
bpool_visible int Se aplica a: SQL Server 2008 (10.0.x) y SQL Server 2008 R2 (10.50.x).

Número de búferes de 8 KB del grupo de búferes accesibles directamente en el espacio de direcciones virtuales de proceso. Cuando no se usan las extensiones de ventana de direcciones (AWE), cuando el grupo de búferes obtiene su destino de memoria (bpool_committed = bpool_commit_target), el valor de bpool_visible es igual al valor de bpool_committed. Cuando se usa AWE en una versión de 32 bits de SQL Server, bpool_visible representa el tamaño de la ventana de asignación de AWE que se usa para acceder a la memoria física asignada por el grupo de búferes. El tamaño de esta ventana de asignación está enlazado por el espacio de direcciones del proceso, por lo que la cantidad visible es menor que la cantidad confirmada. Este valor se puede reducir aún más mediante componentes internos que consumen memoria, con fines distintos de las páginas de base de datos. Si el valor de bpool_visible es demasiado bajo, es posible que reciba errores de memoria insuficiente.
visible_target_kb bigint Se aplica a: SQL Server 2012 (11.x) y versiones posteriores.

Es igual que committed_target_kb. No acepta valores NULL.
stack_size_in_bytes int Especifica el tamaño de la pila de llamadas para cada subproceso creado por SQL Server. No acepta valores NULL.
os_quantum bigint Representa el cuanto de una tarea no preferente medido en milisegundos. Quantum (en segundos) = os_quantum / Velocidad del reloj de CPU. No acepta valores NULL.
os_error_mode int Especifica el modo de error para el proceso de SQL Server. No acepta valores NULL.
os_priority_class int Especifica la clase de prioridad para el proceso de SQL Server. Acepta valores NULL.

32 = Normal. El registro de errores indica que SQL Server comienza en la base de prioridad normal (7).
128 = Alto. El registro de errores indica que SQL Server se está ejecutando en base de alta prioridad (13).

Para obtener más información, consulte Configuración del aumento de prioridad (opción de configuración del servidor).
max_workers_count int Representa el número máximo de subprocesos de trabajo que se pueden crear. No acepta valores NULL.
scheduler_count int Representa el número de programadores de usuario configurados en el proceso de SQL Server. No acepta valores NULL.
scheduler_total_count int Representa el número total de programadores en SQL Server. No acepta valores NULL.
deadlock_monitor_serial_number int Especifica el identificador de la secuencia del monitor de interbloqueos actual. No acepta valores NULL.
sqlserver_start_time_ms_ticks bigint Representa el ms_tick número cuando SQL Server se inició por última vez. Compare con la columna actual ms_ticks . No acepta valores NULL.
sqlserver_start_time datetime Especifica la fecha y hora en que sql Server inició por última vez el sistema local. No acepta valores NULL.

La información de muchas otras DMV de SQL Server solo incluye actividad desde el último inicio del motor de base de datos. Use esta columna para buscar la última hora de inicio de SQL Server Motor de base de datos.
affinity_type int Se aplica a: SQL Server 2008 R2 (10.50.x) y versiones posteriores.

Especifica el tipo de la afinidad de proceso de la CPU de servidor actualmente en uso. No acepta valores NULL. Para obtener más información, vea ALTER SERVER CONFIGURATION (Transact-SQL).

1 = MANUAL
2 = AUTO
affinity_type_desc nvarchar(60) Se aplica a: SQL Server 2008 R2 (10.50.x) y versiones posteriores.

Describe la affinity_type columna. No acepta valores NULL.

MANUAL = se estableció la afinidad para al menos una CPU.
AUTO = SQL Server puede mover libremente subprocesos entre CPU.
process_kernel_time_ms bigint Se aplica a: SQL Server 2008 R2 (10.50.x) y versiones posteriores.

Tiempo total en milisegundos invertidos por todos los subprocesos de SQL Server en modo kernel. Este valor puede ser mayor que el de un único reloj de procesador porque incluye el tiempo para todos los procesadores del servidor. No acepta valores NULL.
process_user_time_ms bigint Se aplica a: SQL Server 2008 R2 (10.50.x) y versiones posteriores.

Tiempo total en milisegundos invertidos por todos los subprocesos de SQL Server en modo de usuario. Este valor puede ser mayor que el de un único reloj de procesador porque incluye el tiempo para todos los procesadores del servidor. No acepta valores NULL.
time_source int Se aplica a: SQL Server 2008 R2 (10.50.x) y versiones posteriores.

Indica la API que SQL Server usa para recuperar la hora del reloj. No acepta valores NULL.

0 = QUERY_PERFORMANCE_COUNTER
1 = MULTIMEDIA_TIMER
time_source_desc nvarchar(60) Se aplica a: SQL Server 2008 R2 (10.50.x) y versiones posteriores.

Describe la time_source columna. No acepta valores NULL.

QUERY_PERFORMANCE_COUNTER = la API QueryPerformanceCounter recupera la hora del reloj.
MULTIMEDIA_TIMER = La API del temporizador multimedia que recupera la hora del reloj de pared.
virtual_machine_type int Se aplica a: SQL Server 2008 R2 (10.50.x) y versiones posteriores.

Indica si SQL Server se ejecuta en un entorno virtualizado. No acepta valores NULL.

0 = NONE
1 = HYPERVISOR
2 = OTHER
virtual_machine_type_desc nvarchar(60) Se aplica a: SQL Server 2008 R2 (10.50.x) y versiones posteriores.

Describe la virtual_machine_type columna. No acepta valores NULL.

NONE = SQL Server no se ejecuta dentro de una máquina virtual.
HYPERVISOR = SQL Server se ejecuta dentro de una máquina virtual hospedada por un hipervisor que ejecuta el sistema operativo (un sistema operativo host que emplea la virtualización asistida por hardware).
OTHER= SQL Server se ejecuta dentro de una máquina virtual hospedada por un sistema operativo que no emplea hardware asistente como Microsoft Virtual PC.
softnuma_configuration int Se aplica a: SQL Server 2016 (13.x) y versiones posteriores.

Especifica la forma en que se configuran los nodos NUMA. No acepta valores NULL.

0 = OFF indica el valor predeterminado del hardware.
1 = Soft-NUMA automatizado
2 = Soft-NUMA manual a través del Registro
softnuma_configuration_desc nvarchar(60) Se aplica a: SQL Server 2016 (13.x) y versiones posteriores.

OFF = La característica Soft-NUMA está desactivada
ON = SQL Server determina automáticamente los tamaños de nodo NUMA para Soft-NUMA.
MANUAL = Configuración manual de soft-NUMA
process_physical_affinity nvarchar(3072) Se aplica a: a partir de SQL Server 2017 (14.x).

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.
sql_memory_model int Se aplica a: SQL Server 2012 (11.x) SP4, SQL Server 2016 (13.x) SP1 y versiones posteriores.

Especifica el modelo de memoria usado por SQL Server para asignar memoria. No acepta valores NULL.

1 = Modelo de memoria convencional
2 = Bloquear páginas en memoria
3 = Páginas grandes en memoria
sql_memory_model_desc nvarchar(60) Se aplica a: SQL Server 2012 (11.x) SP4, SQL Server 2016 (13.x) SP1 y versiones posteriores.

Especifica el modelo de memoria usado por SQL Server para asignar memoria. No acepta valores NULL.

CONVENTIONAL = SQL Server usa el modelo de memoria convencional para asignar memoria. Este es el valor predeterminado Motor de base de datos modelo de memoria cuando la cuenta de servicio de SQL Server no tiene privilegios de bloqueo de páginas en memoria durante el inicio.
LOCK_PAGES = SQL Server usa Bloquear páginas en memoria para asignar memoria. Este es el valor predeterminado Motor de base de datos administrador de memoria cuando la cuenta de servicio de SQL Server tiene el privilegio "Bloquear páginas en memoria" durante el inicio de SQL Server.
LARGE_PAGES = SQL Server usa páginas grandes en memoria para asignar memoria. SQL Server usa el asignador de páginas grandes para asignar memoria solo con Enterprise Edition cuando la cuenta de servicio de SQL Server tiene el privilegio "Bloquear páginas en memoria" durante el inicio del servidor y cuando está activada la marca de seguimiento 834.
pdw_node_id int Se aplica a: Azure Synapse Analytics, Sistema de la plataforma de análisis (PDW)

Identificador del nodo en el que se encuentra esta distribución.
socket_count int Se aplica a: SQL Server 2016 (13.x) SP2 y versiones posteriores.

Especifica el número de sockets de procesador disponibles en el sistema.
cores_per_socket int Se aplica a: SQL Server 2016 (13.x) SP2 y versiones posteriores.

Especifica el número de procesadores por socket disponible en el sistema.
numa_node_count int Se aplica a: SQL Server 2016 (13.x) SP2 y versiones posteriores.

Especifica el número de nodos NUMA disponibles en el sistema. Esta columna incluye nodos NUMA físicos y nodos NUMA suaves.
container_type int Se aplica a: SQL Server 2017 (14.x) y versiones posteriores.

Especifica el tipo de contenedor en el que se ejecuta SQL Server. No acepta valores NULL.

0 (valor predeterminado) = NONE
1 = LINUX CONTAINER
2 = WINDOWS SERVER CONTAINER
3 = HYPER-V CONTAINER
container_type_desc nvarchar(60) Se aplica a: SQL Server 2017 (14.x) y versiones posteriores.

Describe la container_type columna. No acepta valores NULL.

NONE = SQL Server no se ejecuta en un contenedor.
LINUX CONTAINER = SQL Server se ejecuta en un contenedor de Linux.
WINDOWS SERVER CONTAINER = SQL Server se ejecuta en un contenedor de Windows Server.
HYPER-V CONTAINER = SQL Server se ejecuta en un contenedor de Hyper-V.

Permisos

En SQL Server 2019 (15.x) y versiones anteriores, y SQL Instancia administrada, necesita VIEW SERVER STATE permiso.

En SQL Server 2022 (16.x) y versiones posteriores, necesita el permiso VIEW SERVER PERFORMANCE STATE en el servidor.

En los objetivos de servicio básico de Azure SQL Database, S0 y S1, y para las bases de datos de grupos elásticos, se requiere la cuenta de administrador del servidor, la cuenta de administrador de Microsoft Entra o la pertenencia al rol de ##MS_ServerStateReader##servidor. En el resto de objetivos del servicio de SQL Database, se requiere el permiso VIEW DATABASE STATE en la base de datos o la pertenencia en el rol del servidor ##MS_ServerStateReader##.