1. Dynamic Management Object
Pada SQL Server 2005 terdapat jenis objek baru yang dikenal sebagai Dynamic Management Object. Fitur ini dapat mengembalikan keadaan database untuk titik waktu tertentu. DMO mulai dikembangkan sejak munculnya pada SQL Server 2005 yang fungsinya sangat terbatas.
Saat ini DMO digunakan untuk mengekspos informasi berharga mengenai koneksi, sesi, transaksi, laporan SQL, dan proses yang (atau telah) mengeksekusi terhadap contoh database, beban kerja yang dihasilkan dihasilkan pada server, bagaimana didistribusikan, di mana titik-titik tekanan, dan sebagainya.
Setelah mengungkapkan titik tekanan tertentu pada SQL Server, DBA kemudian dapat mengambil langkah yang tepat untuk mengatasi masalah, mungkin dengan tuning query, menambahkan indeks, meningkatkan subsistem disk, atau hanya "killing" session yang menghalangi.
Dynamic Management dibagi menjadi 2 kelas yaitu:
1. Dynamic Management View
2. Dynamic Management Function
Permasalahan utama mengapa dibuat DMO ini karena ada permasalahan performance query pada server. Maka dari itu server perlu di "tuning". Permasalahan performance biasanya terjadi karena disebabkan oleh permintaan berlebihan pada beberapa sumber daya yang diggunakan bersama pada sistem SQL Server. Terlalu seringnya permintaan query memerlukan banyaknya konsumsi dari CPU yang digunakan dan tempat penyimpanan yang lebih cepat. Fitur DMO memudahkan kita dalam melakukan tuning dan troubleshooting secara cepat.
Berikut ini gambaran fungsi DMO pada SQL Server 2012:
1.1 Connection, Session, and Request
DMO dapat melihat koneksi, sesi, dan request berpengaruh terhadap resource CPU.• sys.dm_exec_connections - memberikan informasi tentang lalu lintas jaringan danprotokol, serta atribut pengguna dari sumber koneksi itu dipanggil.
• sys.dm_exec_sessions - Mengembalikan informasi tentang setiap pengguna dan sesi sistem internal pada SQL Server termasuk pengaturan sesi, keamanan, dan CPU kumulatif, memori, dan I / O penggunaan.
• sys.dm_exec_requests - menyediakan berbagai statistik eksekusi query, seperti waktu berlalu, tunggu waktu, waktu CPU, dan sebagainya. Ia mengembalikan satu baris untuk setiap permintaan yang sedang dijalankan.
• sys.dm_exec_sql_text - mengembalikan teks SQL batch yang diidentifikasi oleh sql_handle
• sys.dm_exec_query_plan - kembali, dalam format XML, rencana permintaan, diidentifikasi oleh plan_handle
1.2 Query Plan Metadata
Fungsi ini dapat melihat berbagai macam query yang telah dieksekusi pada SQL server dan yang rencana yang akan dieksekusi
• sys.dm_exec_query_stats – mengembalikan kinerja statistik secara agregat untuk cached query plan.
• sys.dm_exec_procedure_stats – rmengembalikan kinerja statistik secara agregat untuk cached stored procedures (SQL Server 2008 only).
• sys.dm_exec_cached_plans – memberikan informasi rinci tentang rencana cache, seperti berapa kali telah digunakan, ukuran, dan sebagainya.
• sys.dm_exec_query_optimizer_info – Pengembalian informasi berupa statistik tentang pengoperasian query optimizer, untuk mengidentifikasi masalah optimasi potensial. Sebagai contoh, kita dapat mengetahui berapa banyak kueri telah dioptimalkan sejak terakhir kali server direstart.
• sys.dm_exec_query_plan - Pengembalian informasi dalam format XML rencana permintaan, diidentifikasi oleh plan_handle, karena batch SQL.
• sys.dm_exec_text_query_plan - Pengembalian informasi dalam format teks rencana query, diidentifikasi oleh plan_handle, karena batch SQL atau, melalui penggunaan ini DMF mengimbangi kolom, pernyataan tertentu dalam batch tersebut.
• sys.dm_exec_plan_attributes - memberikan informasi tentang berbagai atribut rencana query, diidentifikasi oleh plan_handle, misalnya jumlah kueri saat ini menggunakan rencana eksekusi yang diberikan.
1.3 Transaction
DMO ini berfungsi untuk melihat transaksional pada database.• sys.dm_tran_locks - untuk menginvestigasi locking dan blocking apakah sudah benar atau tidak.
• sys.dm_tran_session_transactions - melihat informasi transaksi id dan hubungan pada user siapa yang melakukan hal itu.
• sys.dm_tran_active_transactions - Mengembalikan informasi list dari semua transaksi yang aktif pada saat kueri di eksekusi.
Karena sangat terlalu kompleks sekali dan membuat blog ini tidak enak dibaca, saya menyarankan untuk mendownload sumber buku utama :
www.t-sql.ru/ebooks/eBook_Performance_Tuning_Davidson_Ford.pdf
Sekian beberapa penjelasan dari saya. Terima kasih atas perhatiannya.