sys.dm_os_memory_brokers (Transact-SQL)
S’applique à : SQL Server Azure Synapse Analytics Analytics Platform System (PDW)
Les allocations internes à SQL Server utilisent le gestionnaire de mémoire SQL Server. Le suivi de la différence entre les compteurs de mémoire de processus de sys.dm_os_process_memory et les compteurs internes peut indiquer l’utilisation de la mémoire à partir de composants externes dans l’espace mémoire SQL Server.
Les répartiteurs de mémoire distribuent équitablement les allocations de mémoire entre différents composants au sein de SQL Server, en fonction de l’utilisation actuelle et prévue. Ils n'effectuent pas d'allocations. Ils n'effectuent que le suivi des allocations pour calculer la distribution.
Le tableau suivant fournit des informations sur les gestionnaires d'allocation mémoire.
Remarque
Pour appeler cela à partir d’Azure Synapse Analytics ou du système de plateforme d’analyse (PDW), utilisez le nom sys.dm_pdw_nodes_os_memory_brokers. 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 | Description |
---|---|---|
pool_id | int | ID du pool de ressources s'il est associé à un pool du gouverneur de ressources. |
memory_broker_type | nvarchar(60) | Type de gestionnaire d'allocation mémoire. Il existe actuellement trois types de répartiteurs de mémoire dans SQL Server, répertoriés ci-dessous avec leurs descriptions. MEMORYBROKER_FOR_CACHE : mémoire allouée pour une utilisation par les objets mis en cache (cache du pool de mémoires tampons). MEMORYBROKER_FOR_STEAL : mémoire volée du pool de mémoires tampons. Cette mémoire est suivie par les commis de mémoire et n’est pas disponible pour la réutilisation par d’autres composants tant qu’elle n’est pas libérée par le propriétaire actuel. MEMORYBROKER_FOR_RESERVE : mémoire réservée pour une utilisation ultérieure en exécutant actuellement des requêtes. |
allocations_kb | bigint | Quantité de mémoire, en kilo-octets (Ko), allouée à ce type de gestionnaire d'allocation mémoire. |
allocations_kb_per_sec | bigint | Taux d'allocations de mémoire, en kilo-octets (Ko) par seconde. Cette valeur peut être négative pour les désallocations de mémoire. |
predicted_allocations_kb | bigint | Quantité prédite de mémoire allouée par le gestionnaire d'allocation mémoire. Cette valeur est basée sur le modèle d'utilisation de la mémoire. |
target_allocations_kb | bigint | Quantité recommandée de mémoire allouée, en kilo-octet (Ko), basée sur les paramètres actuels et le modèle d'utilisation de la mémoire. Ce gestionnaire d'allocation mémoire doit augmenter ou diminuer la quantité pour obtenir cette valeur. |
future_allocations_kb | bigint | Nombre projeté d'allocations, en kilo-octet (Ko), qui seront effectuées dans les prochaines secondes. |
overall_limit_kb | bigint | Quantité maximale de mémoire, en kilo-octets (Ko), que le répartiteur peut allouer. |
last_notification | nvarchar(60) | Recommandation relative à l'utilisation de la mémoire basée sur les paramètres actuels et le modèle d'utilisation. Les valeurs valides sont les suivantes : grow shrink stable |
pdw_node_id | int | S’applique à : Azure Synapse Analytics, Analytics Platform System (PDW) Identificateur du nœud sur lequel cette distribution est activée. |
Autorisations
Sur SQL Server et SQL Managed Instance, l’autorisation VIEW SERVER STATE
est requise.
Sur les objectifs de service 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 requis. 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.
Autorisations pour SQL Server 2022 (et versions plus récentes)
Nécessite l’autorisation VIEW SERVER PERFORMANCE STATE sur le serveur.
Voir aussi
Vues de gestion dynamique SQL Server liées au système d'exploitation (Transact-SQL)