Der SQL-Server verwaltet seinen Daten-Cache grundsätzlich immer dynamisch, sogar wenn ich Min- und Max-Server-Memory auf den gleichen fixen Wert setze, trifft das zu.
Wenn man wissen will, wie viel Speicher der SQL-Server aktuell belegt hat und wofür genau, dann kann man das mittels DBCC erfragen:
DBCC MemoryStatus
Wenn es einem nur um den Daten-Cache (genauer den Buffer-Pool) geht, dann kann man das auch so rausbekommen:
SELECT
bpool_committed*8 as "UsedBufferPoolSize [KBytes]",
bpool_commit_target*8 as "ReservedBufferPoolSize [KBytes]",
physical_memory_in_bytes/1024 as "PhysicalMemoryOfOS [KBytes]",
virtual_memory_in_bytes/1024 as "VirtualMemoryOfOS [KBytes]"
FROM sys.dm_os_sys_info
SQL Server 2005 Books Online
Buffer Management
http://msdn2.microsoft.com/en-us/library/aa337525.aspx
bpool_commit_target and bpool_committed columns
in the sys.dm_os_sys_info catalog view
-
SQL Server 2005 Books Online
Growing and Shrinking the Buffer Pool
http://msdn2.microsoft.com/en-us/library/ms345403.aspx
Observing … Memory in the Buffer Pool
Danke, ich habe es korrigiert.