还有其他方法。也许您可以使用两个DMV。请注意,两者均仅适用于SQL Server 2008及更高版本。
的非零值locked_page_allocations_kb
将告诉您SQL Server帐户具有“内存中的锁定页面”特权。
select osn.node_id,
osn.memory_node_id,
osn.node_state_desc,
omn.locked_page_allocations_kb
from sys.dm_os_memory_nodes omn
inner join sys.dm_os_nodes osn on (omn.memory_node_id = osn.memory_node_id)
where osn.node_state_desc <> 'ONLINE DAC'
...和:
select
(physical_memory_in_use_kb/1024)Memory_usedby_Sqlserver_MB,
(locked_page_allocations_kb/1024 )Locked_pages_used_Sqlserver_MB,
(total_virtual_address_space_kb/1024 )Total_VAS_in_MB,
process_physical_memory_low,
process_virtual_memory_low
from sys.dm_os_process_memory
如果column Locked_pages_allocation_KB
显示的值非零,则SQL Server服务帐户也具有“锁定页面的内存”特权。
...和:
输出的“内存管理器”部分DBCC MEMORYSTATUS
将显示“分配的AWE”或SQL Server服务帐户具有“内存中的锁定页面”特权的非零值。
注意:
如果SQL Server服务帐户与本地系统(NT Authority \ System)帐户一起运行,则默认情况下,SQL Server将具有“锁定页面在内存中”特权。
更新:
在SQL Server 2012 Standard Edition之前,我们需要启用跟踪标志t -845才能利用LPIM。即使您使用具有LPIM特权的帐户运行SQL Server,除非启用了跟踪标志,否则SQL Server实际上不会使用LPIM优势。
从2012年起,我们无需启用标准版中的跟踪标志即可利用LPIM。