[SQL Server] RAM rapport utilisation
--Nous pouvons utiliser la requête ci-dessous pour obtenir des informations sur l'état de la mémoire système d'exploitation
--et mémoire SQL utilisant une requête comme celle-ci. En regardant cette requête, vous serez en mesure de déterminer
--facilement les différents indicateurs qui ont déclenché les fenêtres à la page divers procédés, notamment SQL Server.
--Utilisez la requête suivante pour obtenir des informations relatives à la notification de la mémoire à partir des données XML de la mémoire tampon circulaire
SELECT CONVERT(varchar(30), GETDATE(), 121) as runtime,
DATEADD(ms, a.[Record Time] - sys.ms_ticks, GETDATE()) AS Notification_time,
a.*,sys.ms_ticks AS [Current Time]
FROM
(SELECT x.value('(//Record/ResourceMonitor/Notification)[1]', 'varchar(30)') AS [Notification_type],
x.value('(//Record/MemoryRecord/MemoryUtilization)[1]','int')AS [MemoryUtilization %],
x.value('(//Record/MemoryRecord/TotalPhysicalMemory)[1]','bigint')AS [TotalPhysicalMemory_KB],
x.value('(//Record/MemoryRecord/AvailablePhysicalMemory)[1]','bigint')AS [AvailablePhysicalMemory_KB],
x.value('(//Record/MemoryRecord/TotalPageFile)[1]','bigint')AS [TotalPageFile_KB],
x.value('(//Record/MemoryRecord/AvailablePageFile)[1]','bigint')AS [AvailablePageFile_KB],
x.value('(//Record/MemoryRecord/TotalVirtualAddressSpace)[1]','bigint')AS [TotalVirtualAddressSpace_KB],
x.value('(//Record/MemoryRecord/AvailableVirtualAddressSpace)[1]','bigint')AS [AvailableVirtualAddressSpace_KB],
x.value('(//Record/MemoryNode/@id)[1]','int')AS [Node Id],
x.value('(//Record/MemoryNode/ReservedMemory)[1]','bigint')AS [SQL_ReservedMemory_KB],
x.value('(//Record/MemoryNode/CommittedMemory)[1]','bigint')AS [SQL_CommittedMemory_KB],
x.value('(//Record/@id)[1]','bigint')AS [Record Id],
x.value('(//Record/@type)[1]','varchar(30)')AS [Type],
x.value('(//Record/ResourceMonitor/Indicators)[1]','int')AS [Indicators],
x.value('(//Record/@time)[1]','bigint')AS [Record Time]
FROM (SELECT CAST(record as xml) FROM sys.dm_os_ring_buffers
WHERE ring_buffer_type = 'RING_BUFFER_RESOURCE_MONITOR') AS R(x)) a
CROSS JOIN sys.dm_os_sys_info sys
ORDER BY DATEADD(ms, a.[Record Time] - sys.ms_ticks, GETDATE())