sys.dm_os_memory_brokers (Transact-SQL)

S’applique à :SQL ServerAzure Synapse Analytics AnalyticsPlatform 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)