sys.dm_os_sys_info (Transact-SQL)

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Retourne un ensemble divers d’informations utiles sur l’ordinateur, ainsi que sur les ressources disponibles et consommées par SQL Server.

Remarque

Pour appeler cela à partir d’Azure Synapse Analytics ou du système de plateforme Analytics (PDW), utilisez le nom sys.dm_pdw_nodes_os_sys_info. Cette syntaxe n’est pas prise en charge par le pool SQL serverless dans Azure Synapse Analytics.

Nom de la colonne Type de données Notes spécifiques à la description et aux versions
cpu_ticks bigint Spécifie le nombre de vérifications du processeur actuel. Les cycles de l'UC sont fournis par le compteur RDTSC du processeur. C’est un nombre monotoniquement croissant. N'accepte pas la valeur NULL.
ms_ticks bigint Spécifie le nombre de millisecondes écoulées depuis le démarrage de l'ordinateur. N'accepte pas la valeur NULL.
cpu_count int Spécifie le nombre d'UC logiques dans le système. N'accepte pas la valeur NULL.

Dans Azure SQL Database, cette colonne peut retourner le nombre de processeurs logiques sur la machine hébergeant la base de données ou le pool élastique. Pour déterminer le nombre de processeurs logiques disponibles pour la base de données ou le pool élastique, utilisez la cpu_limit colonne dans sys.dm_user_db_resource_governance.
hyperthread_ratio int Spécifie le rapport entre le nombre de noyaux logiques et le nombre de noyaux physiques exposés par un package de processeurs physiques. N'accepte pas la valeur NULL.
physical_memory_in_bytes bigint S’applique à : SQL Server 2008 (10.0.x) et SQL Server 2008 R2 (10.50.x).

Spécifie la quantité totale de mémoire physique sur l'ordinateur. N'accepte pas la valeur NULL.
physical_memory_kb bigint S’applique à : SQL Server 2012 (11.x) et versions ultérieures.

Spécifie la quantité totale de mémoire physique sur l'ordinateur. N'accepte pas la valeur NULL.

Dans Azure SQL Database, cette colonne retourne la quantité totale de mémoire physique sur la machine hébergeant la base de données ou le pool élastique. Pour déterminer la quantité de mémoire physique disponible pour la base de données ou le pool élastique, utilisez la process_memory_limit_mb colonne dans sys.dm_os_job_object.
virtual_memory_in_bytes bigint S’applique à : SQL Server 2008 (10.0.x) et SQL Server 2008 R2 (10.50.x).

Quantité de mémoire virtuelle dont dispose le processus en mode utilisateur. Cette valeur peut être utilisée pour déterminer si SQL Server a été démarré à l’aide d’un commutateur de 3 Go.
virtual_memory_kb bigint S’applique à : SQL Server 2012 (11.x) et versions ultérieures.

Spécifie la quantité totale d'espace d'adressage virtuel disponible au processus en mode utilisateur. N'accepte pas la valeur NULL.
bpool_committed int S’applique à : SQL Server 2008 (10.0.x) et SQL Server 2008 R2 (10.50.x).

Représente la mémoire validée, en kilo-octet (Ko), dans le gestionnaire de mémoire. N’inclut pas de mémoire réservée dans le gestionnaire de mémoire. N'accepte pas la valeur NULL.
committed_kb bigint S’applique à : SQL Server 2012 (11.x) et versions ultérieures.

Représente la mémoire validée, en kilo-octet (Ko), dans le gestionnaire de mémoire. N’inclut pas de mémoire réservée dans le gestionnaire de mémoire. N'accepte pas la valeur NULL.
bpool_commit_target int S’applique à : SQL Server 2008 (10.0.x) et SQL Server 2008 R2 (10.50.x).

Représente la quantité de mémoire, en kilo-octet (KB), qui peut être consommée par le gestionnaire de mémoire SQL Server.
committed_target_kb bigint S’applique à : SQL Server 2012 (11.x) et versions ultérieures.

Représente la quantité de mémoire, en kilo-octet (KB), qui peut être consommée par le gestionnaire de mémoire SQL Server. La quantité cible est calculée à l’aide de plusieurs entrées telles que :

- état actuel du système, y compris sa charge
- mémoire demandée par les processus actuels
- quantité de mémoire installée sur l’ordinateur
- Paramètres de configuration

S’il committed_target_kb est supérieur committed_kbà , le gestionnaire de mémoire tente d’obtenir plus de mémoire. Si committed_target_kb elle est inférieure committed_kbà , le gestionnaire de mémoire tente de réduire la quantité de mémoire validée. La committed_target_kb mémoire toujours volée et réservée est toujours comprise. N'accepte pas la valeur NULL.
bpool_visible int S’applique à : SQL Server 2008 (10.0.x) et SQL Server 2008 R2 (10.50.x).

Nombre de tampons de 8 Ko dans le pool de mémoires tampons directement accessibles dans l'espace d'adressage virtuel de processus. Lorsque vous n’utilisez pas les extensions de fenêtrage d’adresses (AWE), lorsque le pool de mémoires tampons obtient sa cible de mémoire (bpool_committed = bpool_commit_target), la valeur d’égal bpool_visible à la valeur de bpool_committed. Lorsque vous utilisez AWE sur une version 32 bits de SQL Server, bpool_visible représente la taille de la fenêtre de mappage AWE utilisée pour accéder à la mémoire physique allouée par le pool de mémoires tampons. La taille de cette fenêtre de mappage est liée par l’espace d’adressage du processus et la quantité visible est donc inférieure à la quantité validée. Cette valeur peut être réduite davantage par les composants internes consommant de la mémoire, à des fins autres que les pages de base de données. Si la valeur est bpool_visible trop faible, vous risquez de recevoir des erreurs de mémoire insuffisante.
visible_target_kb bigint S’applique à : SQL Server 2012 (11.x) et versions ultérieures.

Est identique à committed_target_kb. N'accepte pas la valeur NULL.
stack_size_in_bytes int Spécifie la taille de la pile des appels pour chaque thread créé par SQL Server. N'accepte pas la valeur NULL.
os_quantum bigint Représente le quantum associé à une tâche non préemptive, mesuré en millisecondes. Quantum (en secondes) = os_quantum / vitesse d’horloge du processeur. N'accepte pas la valeur NULL.
os_error_mode int Spécifie le mode d’erreur du processus SQL Server. N'accepte pas la valeur NULL.
os_priority_class int Spécifie la classe de priorité pour le processus SQL Server. Autorise la valeur Null.

32 = Normal. Le journal des erreurs indique que SQL Server démarre à la base de priorité normale (7).
128 = Élevé. Le journal des erreurs indique que SQL Server s’exécute à une base de priorité élevée (13).

Pour plus d’informations, consultez Configurer l’amélioration de la priorité (option de configuration du serveur).
max_workers_count int Représente le nombre maximum de processus de travail pouvant être créés. N'accepte pas la valeur NULL.
scheduler_count int Représente le nombre de planificateurs d’utilisateurs configurés dans le processus SQL Server. N'accepte pas la valeur NULL.
scheduler_total_count int Représente le nombre total de planificateurs dans SQL Server. N'accepte pas la valeur NULL.
deadlock_monitor_serial_number int Spécifie l'identificateur de la séquence en cours du moniteur d'interblocage. N'accepte pas la valeur NULL.
sqlserver_start_time_ms_ticks bigint Représente le ms_tick nombre au dernier démarrage de SQL Server. Comparez à la colonne actuelle ms_ticks . N'accepte pas la valeur NULL.
sqlserver_start_time datetime Spécifie la date et l’heure du dernier démarrage de SQL Server du système local. N'accepte pas la valeur NULL.

Les informations contenues dans de nombreux autres DMV SQL Server incluent uniquement l’activité depuis le dernier démarrage du moteur de base de données. Utilisez cette colonne pour rechercher la dernière heure de démarrage de SQL Server Moteur de base de données.
affinity_type int S’applique à : SQL Server 2008 R2 (10.50.x) et versions ultérieures.

Spécifie le type d'affinité de processus UC serveur en cours d'utilisation. N'accepte pas la valeur NULL. Pour plus d’informations, consultez ALTER SERVER CONFIGURATION (Transact-SQL).

1 = MANUAL
2 = AUTO
affinity_type_desc nvarchar(60) S’applique à : SQL Server 2008 R2 (10.50.x) et versions ultérieures.

Décrit la affinity_type colonne. N'accepte pas la valeur NULL.

MANUAL = l’affinité a été définie pour au moins un processeur.
AUTO = SQL Server peut déplacer librement des threads entre les processeurs.
process_kernel_time_ms bigint S’applique à : SQL Server 2008 R2 (10.50.x) et versions ultérieures.

Durée totale en millisecondes passées par tous les threads SQL Server en mode noyau. Cette valeur peut être plus grande qu'une horloge de processeur unique parce qu'elle inclut l'heure pour tous les processeurs sur le serveur. N'accepte pas la valeur NULL.
process_user_time_ms bigint S’applique à : SQL Server 2008 R2 (10.50.x) et versions ultérieures.

Durée totale en millisecondes passées par tous les threads SQL Server en mode utilisateur. Cette valeur peut être plus grande qu'une horloge de processeur unique parce qu'elle inclut l'heure pour tous les processeurs sur le serveur. N'accepte pas la valeur NULL.
time_source int S’applique à : SQL Server 2008 R2 (10.50.x) et versions ultérieures.

Indique l’API que SQL Server utilise pour récupérer l’heure de l’horloge du mur. N'accepte pas la valeur NULL.

0 = QUERY_PERFORMANCE_COUNTER
1 = MULTIMEDIA_TIMER
time_source_desc nvarchar(60) S’applique à : SQL Server 2008 R2 (10.50.x) et versions ultérieures.

Décrit la time_source colonne. N'accepte pas la valeur NULL.

QUERY_PERFORMANCE_COUNTER= l’API QueryPerformanceCounter récupère l’heure d’horloge du mur.
MULTIMEDIA_TIMER = API du minuteur multimédia qui récupère l’heure du mur.
virtual_machine_type int S’applique à : SQL Server 2008 R2 (10.50.x) et versions ultérieures.

Indique si SQL Server est en cours d’exécution dans un environnement virtualisé. N'accepte pas la valeur NULL.

0 = NONE
1 = HYPERVISOR
2 = OTHER
virtual_machine_type_desc nvarchar(60) S’applique à : SQL Server 2008 R2 (10.50.x) et versions ultérieures.

Décrit la virtual_machine_type colonne. N'accepte pas la valeur NULL.

NONE = SQL Server n’est pas en cours d’exécution à l’intérieur d’une machine virtuelle.
HYPERVISOR = SQL Server s’exécute à l’intérieur d’une machine virtuelle hébergée par un système d’exploitation exécutant un hyperviseur (système d’exploitation hôte qui utilise la virtualisation assistée par le matériel).
OTHER = SQL Server s’exécute à l’intérieur d’une machine virtuelle hébergée par un système d’exploitation qui n’utilise pas d’assistant matériel tel que Microsoft Virtual PC.
softnuma_configuration int S’applique à : SQL Server 2016 (13.x) et versions ultérieures.

Spécifie la façon dont les nœuds NUMA sont configurés. N'accepte pas la valeur NULL.

0 = OFF indique la valeur par défaut du matériel
1 = Soft-NUMA automatisé
2 = Soft-NUMA manuel via le registre
softnuma_configuration_desc nvarchar(60) S’applique à : SQL Server 2016 (13.x) et versions ultérieures.

OFF = La fonctionnalité Soft-NUMA est désactivée
ON = SQL Server détermine automatiquement les tailles de nœud NUMA pour Soft-NUMA
MANUAL = Configuration manuelle de soft-NUMA
process_physical_affinity nvarchar(3072) S’applique à : à partir de SQL Server 2017 (14.x).

Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.
sql_memory_model int S’applique à : SQL Server 2012 (11.x) SP4, SQL Server 2016 (13.x) SP1 et versions ultérieures.

Spécifie le modèle de mémoire utilisé par SQL Server pour allouer de la mémoire. N'accepte pas la valeur NULL.

1 = Modèle de mémoire conventionnelle
2 = Verrouiller des pages en mémoire
3 = Pages volumineuses en mémoire
sql_memory_model_desc nvarchar(60) S’applique à : SQL Server 2012 (11.x) SP4, SQL Server 2016 (13.x) SP1 et versions ultérieures.

Spécifie le modèle de mémoire utilisé par SQL Server pour allouer de la mémoire. N'accepte pas la valeur NULL.

CONVENTIONAL = SQL Server utilise le modèle de mémoire conventionnelle pour allouer de la mémoire. Il s’agit d’un modèle de mémoire par défaut Moteur de base de données lorsque le compte de service SQL Server ne dispose pas de privilèges de verrouillage des pages de mémoire pendant le démarrage.
LOCK_PAGES = SQL Server utilise les pages de verrouillage en mémoire pour allouer de la mémoire. Il s’agit du gestionnaire de mémoire par défaut Moteur de base de données lorsque le compte de service SQL Server dispose du privilège « Verrouiller les pages en mémoire » pendant le démarrage de SQL Server.
LARGE_PAGES = SQL Server utilise de grandes pages en mémoire pour allouer de la mémoire. SQL Server utilise l’allocateur Pages volumineuses pour allouer de la mémoire uniquement avec l’édition Entreprise lorsque le compte de service SQL Server dispose du privilège « Verrouiller les pages en mémoire » pendant le démarrage du serveur et lorsque l’indicateur de trace 834 est activé.
pdw_node_id int S’applique à : Azure Synapse Analytics, Analytics Platform System (PDW)

Identificateur du nœud sur lequel cette distribution est activée.
socket_count int S’applique à : SQL Server 2016 (13.x) SP2 et versions ultérieures.

Spécifie le nombre de sockets de processeur disponibles sur le système.
cores_per_socket int S’applique à : SQL Server 2016 (13.x) SP2 et versions ultérieures.

Spécifie le nombre de processeurs par socket disponible sur le système.
numa_node_count int S’applique à : SQL Server 2016 (13.x) SP2 et versions ultérieures.

Spécifie le nombre de nœuds NUMA disponibles sur le système. Cette colonne inclut des nœuds NUMA physiques et des nœuds NUMA souples.
container_type int S’applique à : SQL Server 2017 (14.x) et versions ultérieures.

Spécifie le type de conteneur SQL Server en cours d’exécution. N'accepte pas la valeur NULL.

0 (valeur par défaut) = NONE
1 = LINUX CONTAINER
2 = WINDOWS SERVER CONTAINER
3 = HYPER-V CONTAINER
container_type_desc nvarchar(60) S’applique à : SQL Server 2017 (14.x) et versions ultérieures.

Décrit la container_type colonne. N'accepte pas la valeur NULL.

NONE = SQL Server n’est pas en cours d’exécution dans un conteneur.
LINUX CONTAINER = SQL Server s’exécute dans un conteneur Linux.
WINDOWS SERVER CONTAINER = SQL Server s’exécute dans un conteneur Windows Server.
HYPER-V CONTAINER = SQL Server s’exécute dans un conteneur Hyper-V.

autorisations

Sur SQL Server 2019 (15.x) et les versions antérieures et SQL Managed Instance, vous avez besoin VIEW SERVER STATE d’autorisations.

Sur SQL Server 2022 (16.x) et versions ultérieures, vous devez disposer VIEW SERVER PERFORMANCE STATE d’autorisations sur le serveur.

Sur les objectifs de service Azure SQL Database Basic, S0 et S1, et pour les bases de données dans des pools élastiques, le compte d’administrateur du serveur, le compte d’administrateur Microsoft Entra ou l’appartenance au ##MS_ServerStateReader## rôle serveur est nécessaire. Sur tous les autres objectifs de service SQL Database, l’autorisation VIEW DATABASE STATE sur la base de données ou l’appartenance au rôle serveur ##MS_ServerStateReader## est requise.