Memantau Komponen SQL Server
Berlaku untuk: SQL Server
Pemantauan penting karena SQL Server menyediakan layanan di lingkungan dinamis. Data dalam aplikasi berubah. Jenis akses yang memerlukan perubahan oleh pengguna. Cara pengguna menyambungkan perubahan. Jenis aplikasi yang mengakses SQL Server bahkan dapat berubah, tetapi SQL Server secara otomatis mengelola sumber daya tingkat sistem, seperti memori dan ruang disk, untuk meminimalkan kebutuhan akan penyetelan manual tingkat sistem yang luas. Pemantauan memungkinkan administrator mengidentifikasi tren performa untuk menentukan apakah perubahan diperlukan.
Untuk memantau komponen SQL Server apa pun secara efektif:
- Tentukan tujuan pemantauan Anda.
- Pilih alat yang sesuai.
- Identifikasi komponen yang akan dipantau.
- Pilih metrik untuk komponen tersebut.
- Pantau server.
- Analisis data.
Langkah-langkah ini dibahas pada gilirannya di bawah ini.
Tentukan Tujuan Pemantauan Anda
Untuk memantau SQL Server secara efektif, Anda harus mengidentifikasi dengan jelas alasan pemantauan Anda. Alasannya dapat mencakup hal-hal berikut:
- Tetapkan garis besar untuk performa.
- Identifikasi perubahan performa dari waktu ke waktu.
- Mendiagnosis masalah performa tertentu.
- Identifikasi komponen atau proses untuk dioptimalkan.
- Bandingkan efek aplikasi klien yang berbeda pada performa.
- Mengaudit aktivitas pengguna.
- Uji server di bawah beban yang berbeda.
- Menguji arsitektur database.
- Uji jadwal pemeliharaan.
- Uji rencana pencadangan dan pemulihan.
- Menentukan kapan harus mengubah konfigurasi perangkat keras Anda.
Pilih Alat yang Sesuai
Setelah menentukan mengapa Anda memantau, Anda harus memilih alat yang sesuai untuk jenis pemantauan tersebut. Sistem operasi Windows dan SQL Server menyediakan serangkaian alat lengkap untuk memantau server di lingkungan intensif transaksi. Alat-alat ini dengan jelas mengungkapkan kondisi instans Mesin Database SQL Server atau instans SQL Server Analysis Services.
Windows menyediakan alat berikut untuk memantau aplikasi yang berjalan di server:
- Mulai Monitor Performa (Windows), yang memungkinkan Anda mengumpulkan dan melihat data real time tentang aktivitas seperti memori, disk, dan penggunaan prosesor.
- Log dan pemberitahuan performa
- Manajer Tugas
Untuk informasi selengkapnya tentang alat Windows Server atau Windows, lihat dokumentasi Windows.
SQL Server menyediakan alat berikut untuk memantau komponen SQL Server:
- Gambaran umum Kejadian yang Diperluas
- Jejak SQL
- SQL Server Profiler
- Pemutaran Ulang Terdistribusi SQL Server
- Monitor Aktivitas
- SQL Server Management Studio Graphical Showplan
- Prosedur Tersimpan Sistem
- Perintah Konsol Database (DBCC)
- Tampilan manajemen dinamis sistem
- Apa fungsi database SQL?
- Bendera pelacakan
Penting
SQL Trace dan SQL Server Profiler dihentikan. Namespace Microsoft.SqlServer.Management.Trace yang berisi objek Microsoft SQL Server Trace dan Replay juga tidak digunakan lagi.
Fitur ini akan dihapus dalam versi SQL Server yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini.
Gunakan Extended Events sebagai gantinya. Untuk informasi selengkapnya tentang gambaran umum Acara yang Diperluas, lihat Mulai Cepat: Kejadian yang Diperluas dan Menggunakan SSMS XEvent Profiler.
Catatan
Beban kerja SQL Server Profiler for Analysis Services TIDAK digunakan lagi, dan akan terus didukung.
Untuk informasi selengkapnya tentang alat pemantauan SQL Server, lihat Pemantauan Performa dan Alat Penyetelan.
Mengidentifikasi Komponen untuk Dipantau
Langkah ketiga untuk memantau instans SQL Server adalah mengidentifikasi komponen yang Anda pantau. Misalnya, jika Anda menggunakan SQL Server Profiler untuk melacak server, Anda dapat menentukan jejak untuk mengumpulkan data tentang peristiwa tertentu. Anda juga dapat mengecualikan peristiwa yang tidak berlaku untuk situasi Anda.
Pilih Metrik untuk Komponen yang Dipantau
Setelah mengidentifikasi komponen yang akan dipantau, tentukan metrik untuk komponen yang Anda pantau. Misalnya, setelah memilih peristiwa yang akan disertakan dalam pelacakan, Anda dapat memilih untuk menyertakan hanya data tertentu tentang peristiwa tersebut. Membatasi jejak ke data yang relevan dengan jejak meminimalkan sumber daya sistem yang diperlukan untuk melakukan pelacakan.
Memantau Server
Untuk memantau server, jalankan alat pemantauan yang telah Anda konfigurasi untuk mengumpulkan data. Misalnya, setelah pelacakan ditentukan, Anda dapat menjalankan jejak untuk mengumpulkan data tentang peristiwa yang dimunculkan di server.
Menganalisis Data
Setelah jejak selesai, analisis data untuk melihat apakah Anda telah mencapai tujuan pemantauan Anda. Jika belum, ubah komponen atau metrik yang Anda gunakan untuk memantau server.
Berikut ini menguraikan proses untuk menangkap data peristiwa dan menggunakannya.
Terapkan filter untuk membatasi data peristiwa yang dikumpulkan.
Membatasi data peristiwa memungkinkan sistem untuk fokus pada peristiwa yang berkaitan dengan skenario pemantauan. Misalnya, jika Anda ingin memantau kueri lambat, Anda dapat menggunakan filter untuk memantau hanya kueri yang dikeluarkan oleh aplikasi yang membutuhkan waktu lebih dari 30 detik untuk dijalankan terhadap database tertentu.
Untuk informasi selengkapnya tentang pemfilteran jejak Kejadian yang Diperluas, lihat Mulai Cepat: Kejadian yang Diperluas.
Untuk informasi selengkapnya tentang pemfilteran SQL Trace, lihat Mengatur Filter Pelacakan (Transact-SQL) dan Memfilter Peristiwa dalam Pelacakan (SQL Server Profiler).
Pantau peristiwa (tangkapan).
Segera setelah diaktifkan, pemantauan aktif menangkap data dari aplikasi yang ditentukan, instans SQL Server, atau sistem operasi. Misalnya, ketika aktivitas disk dipantau menggunakan Monitor Sistem, pemantauan mengambil data peristiwa, seperti pembacaan dan penulisan disk, dan menampilkannya di layar. Untuk informasi selengkapnya, lihat Memantau Penggunaan Sumber Daya (Monitor Performa).
Simpan data peristiwa yang diambil.
Menyimpan data peristiwa yang diambil memungkinkan Anda menganalisisnya nanti. Data peristiwa yang diambil yang disimpan ke file yang dapat dimuat kembali ke alat yang awalnya membuatnya untuk analisis. Menyimpan data peristiwa yang diambil penting saat Anda membuat garis besar performa. Data garis besar performa disimpan dan digunakan, saat membandingkan data peristiwa yang baru diambil, untuk menentukan apakah performa optimal.
Extended Events memungkinkan data peristiwa disimpan ke file peristiwa, penghitung peristiwa, histogram, dan buffer cincin. Untuk informasi selengkapnya, lihat Target untuk Kejadian yang Diperluas.
Data peristiwa SQL Trace bahkan dapat diputar ulang menggunakan Utilitas Pemutaran Ulang Terdistribusi atau Profiler SQL Server. SQL Server Profiler mengizinkan data peristiwa disimpan ke file atau tabel SQL Server. Untuk informasi selengkapnya, lihat Templat dan Izin SQL Server Profiler.
Buat templat pelacakan yang berisi pengaturan yang ditentukan untuk mengambil peristiwa.
Templat pelacakan mencakup spesifikasi tentang peristiwa itu sendiri, data peristiwa, dan filter yang digunakan untuk mengambil data. Templat ini dapat digunakan untuk memantau serangkaian peristiwa tertentu nanti tanpa menentukan ulang peristiwa, data peristiwa, dan filter. Misalnya, jika Anda ingin sering memantau jumlah kebuntuan, dan pengguna yang terlibat dalam kebuntuan tersebut, Anda dapat membuat templat yang menentukan peristiwa, data peristiwa, dan filter peristiwa tersebut; simpan templat; dan terapkan kembali filter lain kali Anda ingin memantau kebuntuan.
Definisi sesi Extended Event adalah templat yang dapat diskrip dan digunakan kembali. Untuk membuat dan mengelola sesi, lihat Mengelola Sesi Peristiwa di Object Explorer. Management Studio XEvent Profiler sudah menyediakan templat yang siap digunakan. Untuk informasi selengkapnya, lihat Menggunakan SSMS XEvent Profiler.
SQL Server Profiler menggunakan templat pelacakan untuk tujuan ini. Untuk informasi selengkapnya, lihat Mengatur Default Definisi Pelacakan (SQL Server Profiler) dan Membuat Templat Pelacakan (SQL Server Profiler).
Tip
Definisi SQL Trace dapat dikonversi ke sesi Extended Event. Untuk informasi selengkapnya, lihat Mengonversi Skrip Pelacakan SQL yang Ada ke Sesi Peristiwa yang Diperluas.
Menganalisis data peristiwa yang diambil.
Untuk dianalisis, data peristiwa yang diambil dimuat ke dalam aplikasi yang mengambil data.
Misalnya, jejak Extended Event yang diambil dapat dimuat ulang ke SQL Server Management Studio untuk dilihat dan dianalisis. Untuk informasi selengkapnya, lihat Menampilkan data peristiwa di SQL Server Management Studio.
Data SQL Trace dapat dimuat ulang ke SQL Server Profiler untuk dilihat dan dianalisis. Untuk informasi selengkapnya, lihat Menampilkan dan Menganalisis Jejak dengan SQL Server Profiler.
Menganalisis data peristiwa melibatkan penentuan apa yang terjadi dan mengapa. Informasi ini memungkinkan Anda membuat perubahan yang dapat meningkatkan performa, seperti menambahkan lebih banyak memori, mengubah indeks, memperbaiki masalah pengkodean dengan pernyataan Transact-SQL atau prosedur tersimpan, dan sebagainya, tergantung pada jenis analisis yang dilakukan. Misalnya, Anda dapat menggunakan Konsultan Penyetelan Mesin Database untuk menganalisis jejak yang diambil dari Extended Events atau SQL Server Profiler dan membuat rekomendasi indeks berdasarkan hasilnya.
Memutar ulang data peristiwa yang diambil (opsional).
Pemutaran ulang peristiwa memungkinkan Anda membuat salinan pengujian lingkungan database tempat data diambil, lalu mengulangi peristiwa yang diambil saat awalnya terjadi pada sistem nyata. Kemampuan ini hanya tersedia dengan Utilitas Pemutaran Ulang Terdistribusi atau Profiler SQL Server. Anda dapat memutar ulang peristiwa dengan kecepatan yang sama seperti yang awalnya terjadi, secepat mungkin (untuk menekankan sistem), atau lebih mungkin, satu langkah pada satu waktu (untuk menganalisis sistem setelah setiap peristiwa terjadi). Dengan menganalisis peristiwa yang tepat di lingkungan pengujian, Anda dapat mencegah bahaya pada sistem produksi. Untuk informasi selengkapnya, lihat Memutar Ulang Jejak.