[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 ;-)