SQL Server 2005 ha introdottole Dynamic Management Views (DMVs), tramite le quali è possibile visualizzare lo stato del server o di un database per diagnosticarne eventuali problemi o ottimizzarne le prestazioni.
Ma quali sono e come si utilizzano le DMVs ? Quali informazioni posso estrarre ?
Di seguito una lista delle principali DMVs presenti in SQL Server 2005:
sys.dm_os_sys_info
sys.dm_os_schedulers
sys.dm_os_waiting_tasks
sys.dm_os_wait_stats
sys.dm_os_systhrteads
sys.dm_os_virtual_address_dump
sys.dm_os_latch_stats
sys.dm_os_hosts
sys.dm_os_buffer_descriptors
sys.dm_os_perf_counters
sys.dm_os_ring_buffers
sys.dm_os_tasks
sys.dm_os_workers
vsys.dm_os_memory_clerks
sys.dm_os_memory_cache_counters
sys.dm_os_memory_cache_clock_hands
sys.dm_os_memory_cache_hash_tables
sys.dm_os_memory_cache_entries
dbcc memorystatus
Nel BOL sono riportate divise per categoria e con la relativa descrizione.
Vediamo ora che cosa possiamo fare con le DMVs e proviamo a rispondere ad alcuni quesiti:
Q. Quanti sockets ha il mio server ?
select
cpu_count/hyperthread_ratio AS sockets
from
sys.dm_os_sys_info
Q. I flags /3GB o /Userva sono stati attivati nel boot.ini ?
select
CASE
WHEN virtual_memory_in_bytes / 1024 / (2048*1024)
< 1 THEN 'No switch'
ELSE '/3GB'
END
from sys.dm_os_sys_info
Q. Quanta memoria fisica ha il mio server ?
select
physical_memory_in_bytes/1024 AS physical_memory_in_kb
from
sys.dm_os_sys_info
Q. Qual'è il valore impostato come default per il numero di worker threads ?
select
max_workers_count
from
sys.dm_os_sys_info
Q. What is a size of AWE window or what is the max amount of memory right now that can be used by QO, QE and Caches simultaneously when SQL Server running in AWE mode?
select
bpool_visible
from
sys.dm_os_sys_info