SQL Server Profiler – Pada artikel sebelumnya, kita telah membahas bagaimana cara menggunakan activity monitor yang dapat digunakan untuk memonitoring aktifitas pada sql server, dan kali ini kita akan mencoba melakukan hal serupa namun dengan metode yang berbeda. Kali ini kita akan mencoba menggunakan salah satu tools yang juga dimiliki oleh sql server, yaitu sql server profiler yang mana dapat juga digunakan untuk mendapatkan informasi mengenai sql server guna keperluan troubleshooting atau pun untuk optimisasi sql server workloads.
Baca Juga : Tutorial dan Backup SQL Server
Apa Itu SQL Server Profiler?

Sql server profiler adalah graphical tool yang bisa kita gunakan untuk merekam dan menampilkan detail event yang terjadi pada sebuah sql server instance. Aktifitas yang direkam akan dismpan kedalam sebuah trace, yang mana trace inilah yang akan kita analisa. Secara default informasi yang ditampilkan berbentuk graphical grid, namun tersedia juga pilihan untuk menampilkan dalam bentuk files (.trc) atau database tables.
Trace events
Informasi yang dicatat oleh sql server profiler sendiri terdiri dari beberapa events. Event ini sendiri berisi informasi action apa yang dieksekusi pada instance sql server dalam bentuk data columns yang sudah dikelompokan menjadi beberapa kategori yang berhubungan dengan event itu sendiri.
Event | Deskripsi |
SQL:BatchCompleted | Event ini akan dijalankan ketika sebuah SQL statement telah berhasil dieksekusi, informasi yang dicatat meliputi detail dari sumber daya yang dipakai saat proses eksekusi statement berlangsung. |
SQL:StmtCompleted | Digunakan untuk mendapatkan informasi dari masing-masing individual statement yang berhasil dieksekusi. |
RPC:Completed | Event ini dijalankan ketika sebuah stored procedure berhasil dieksekusi, pada event ini juga berisi informasi detail dari sumber daya yang dipakai saat SP dijalankan. |
Audit Login/Audit Logout | Berisi informasi dari login / logout saat proses monitoring activity dilakukan. |
Deadlock Graph | Berisikan informasi detail ketika aplikasi yang digunakan oleh end user mengalami deadlock, informasi ini dicatat dalam sebuah file XML dan dapat ditampilkan dalam bentuk grapik menggunakan sql profiler. |
Trace template & filtering columns
Untuk memudahkan kita mendapatkan informasi yang dibutuhkan, kita dapat melakukan filtering kolom-kolom apa saja yang ingin ditampilkan, sebagai contoh kita hanya ingin melihat kolom reads, writes, duration dan CPU, selain dapat memfilter kolom kita juga dapat melakukan grouping pada kolom-kolom dengan menggunakan fungsi organize columns.
Tools ini juga memungkinkan kita untuk dapat menyimpan event trace yang kita lakukan ke dalam sebuah template, jadi ketika kita membutuhkan data trace dengan pola yang sama kita bisa menggunakan fitur yang satu ini agar lebih mudah dalam penarikan informasi yang kita lakukan secara periodik.
Menampilkan informasi dari trace file
Untuk menampilkan informasi trace dari sebuah file, sql server menyediakan dua buah cara:
- Menggunakan sql server profiler, biasanya digunakan untuk membaca trace file dengan ukuran relatif kecil.
- Menggunakan query fn_trace_gettable, fungsi ini adalah alternatif ketika kita ingin membaca file trace dengan ukuran yang besar. Namun untuk melakukan filtering data, kita juga diharuskan menggunakan Transact-SQL.
Contoh penggunaan fn_trace_gettable:
SELECT * FROM fn_trace_gettable ('D:\Traces\file.trc', default);
Demonstrasi penggunaan sql server profiler
Membuat dan menjalankan trace:
- Masuk kedalam mssql management studio.
- Bukan Tools menu dan klik SQL Server Profiler.
- Masuk agar dapat terhubung pada sql server melalui sql server profiler.
- Pada Trace Properties di tab General, isikan name trace, Use the template pilih TSQL dan silahkan pilih folder penyimpanan file trace pada bagian save to file.
- Buka tab Event Selection, disinilah kolom dan event yang akan ditampilkan pada TSQL template nantinya.
- Pilih Show all events, dibawah TSQL, pilih SQL:StmtCompleted.
- Pilih Show all columns dan pilih Duration pada SQL:StmtCompleted.
- Pada column Database Name, klik pada kolom header untuk membuka dialog baru dan expand pada bagian like, dibagian like ini silahkan masukan nama database yang hendak dilakukan trace.
- Selanjutnya silahkan klik run dan buka management studio, dimanagement studio silahkan lakukan beberapa query, setelahnya silahkan perhatikan pada sql server profiler query-query yang kita eksekusi barusan telah berhasil direkam.
- Tekan Stop, untuk menghentikan proses tracing.
Penutup
Demikianlah pembahasan pada kali ini, diharapkan dengan menguasai tools yang satu ini kita dapat lebih mudah melakukan proses tracing, troubleshooting dan maintaning sebuah database server, terima kasih.