Witaj na Zine.net online Zaloguj się | Rejestracja | Pomoc

[PL] Nowe DMV w SQL Server 2008

Podłączyłem wczoraj instancję SQL Server 2005 (9.0.3233) jako linked server do instancji SQL Server 2008 RC0. Zrobiłem to, by zrobić parę zestawień porównawczych. Zacząłem od widoków i funkcji dynamicznych (DMV – Dynamic Management View). Napisanie prostego zapytania:

SELECT SCHEMA_NAME(v1.[schema_id]) + '.' + v1.name 
FROM master.sys.all_objects v1
LEFT JOIN [0704-002].master.sys.all_objects v2
ON v1.name = v2.name
WHERE v1.[schema_id] = schema_id('sys') 
AND v1.name LIKE 'dm\_%' ESCAPE '\'
AND v2.name IS NULL
ORDER BY v1.name

i uruchomienie go na instancji Katmai’a (0704-002 to oczywiście nazwa linked servera) dało następujący wynik:

sys.dm_audit_actions
sys.dm_audit_class_type_map
sys.dm_cdc_errors
sys.dm_cdc_log_scan_sessions
sys.dm_cryptographic_provider_algorithms
sys.dm_cryptographic_provider_keys
sys.dm_cryptographic_provider_properties
sys.dm_cryptographic_provider_sessions
sys.dm_database_encryption_keys
sys.dm_db_mirroring_auto_page_repair
sys.dm_db_mirroring_past_actions
sys.dm_db_persisted_sku_features
sys.dm_exec_procedure_stats
sys.dm_exec_trigger_stats
sys.dm_filestream_file_io_handles
sys.dm_filestream_file_io_requests
sys.dm_fts_fdhosts
sys.dm_fts_index_keywords
sys.dm_fts_index_keywords_by_document
sys.dm_fts_outstanding_batches
sys.dm_fts_parser
sys.dm_os_dispatcher_pools
sys.dm_os_dispatchers
sys.dm_os_memory_brokers
sys.dm_os_memory_node_access_stats
sys.dm_os_memory_nodes
sys.dm_os_nodes
sys.dm_os_process_memory
sys.dm_os_spinlock_stats
sys.dm_os_sys_memory
sys.dm_resource_governor_configuration
sys.dm_resource_governor_resource_pools
sys.dm_resource_governor_workload_groups
sys.dm_server_audit_status
sys.dm_sql_referenced_entities
sys.dm_sql_referencing_entities
sys.dm_tran_commit_table
sys.dm_xe_map_values
sys.dm_xe_object_columns
sys.dm_xe_objects
sys.dm_xe_packages
sys.dm_xe_session_event_actions
sys.dm_xe_session_events
sys.dm_xe_session_object_columns
sys.dm_xe_session_targets
sys.dm_xe_sessions

Ładnie - 46 nowych DMV. Oczywiście, niespecjalnie to dziwi, zwłaszcza, gdy popatrzy się na ilość nowych funkcjonalności w Katmai. I, jak widać, część z tych DMV jest związana z nowymi mechanizmami (sys.dm_xe*, sys.dm_resource_governor*, sys.dm_audit*, sys.dm_filestream*). Są na powyższej liście także DMV związane z nową obsługą zależności między obiektami baz danych: sys.dm_sql_referenced_entities oraz sys.dm_sql_referencing_entities (na stronach Technet Polska dostępny jest screencast mojego autorstwa na ten temat).

Z nowych DMV zainteresowały mnie trzy:

  • sys.dm_exec_procedure_stats – pokazuje statystyki użycia procedur składowanych wraz z ich zbuforowanymi planami wykonania,
  • sys.dm_db_persisted_sku_features – pokazuje “features” używane w bieżącej bazie danych, które są specyficzne dla danej edycji SQL Server 2008 i mogą uniemożliwić przeniesienie bazy na “mniejszą” edycję,
  • sys.dm_tran_commit_table – wyświetla jeden wiersz dla każdej transakcji wysłanej przez mechanizm Change Tracking.

Oprócz tego ciekawy wynik zwraca zapytanie do sys.dm_os_sys_memory. W kolumnie system_memory_state_desc widok ten wyświetla na przykład: “Available physical memory is high” :-) Jeszcze parę takich DMV w SQL Server i konsultanci będą mogli spakować manatki i szukać nowego zajęcia ;-)

Opublikowane 24 lipca 2008 11:07 przez brejk
Filed under: , ,

Powiadamianie o komentarzach

Jeżeli chciałbyś otrzymywać email gdy ta wypowiedź zostanie zaktualizowana, to zarejestruj się tutaj

Subskrybuj komentarze za pomocą RSS

Komentarze:

# re: [PL] Nowe DMV w SQL Server 2008

24 lipca 2008 13:11 by mad

Ciekawe. A jeszcze ciekawsze byłoby, gdybyś sprawdził w drugą stronę, czy przypadkiem czegoś na pokładzie nie zabrakło :).

# re: [PL] Nowe DMV w SQL Server 2008

24 lipca 2008 13:15 by brejk

SELECT SCHEMA_NAME(v1.[schema_id]) + '.' + v1.name

FROM [0704-002].master.sys.all_objects v1

LEFT JOIN master.sys.all_objects  v2

ON v1.name = v2.name

WHERE v1.[schema_id] = schema_id('sys')

AND v1.name LIKE 'dm\_%' ESCAPE '\'

AND v2.name IS NULL

ORDER BY v1.name

---------------------

(0 row(s) affected)

Co o tym myślisz?

(wymagane) 
wymagane 
(wymagane) 

  
Wprowadź kod: (wymagane)

About brejk

MVP, MCT, SQL Server geek