Peringatan

Berlaku untuk: SQL Server (semua versi yang didukung)

Penting

Pada Azure SQL Managed Instance, sebagian besar, tetapi tidak semua fitur SQL Server Agent saat ini didukung. Lihat Azure SQL Managed Instance perbedaan T-SQL dari SQL Server untuk detailnya.

Peristiwa dihasilkan oleh SQL Server dan dimasukkan ke dalam log aplikasi Microsoft Windows. SQL Server Agent membaca log aplikasi dan membandingkan peristiwa yang ditulis di sana dengan pemberitahuan yang telah Anda tentukan. Saat SQL Server Agent menemukan kecocokan, pemberitahuan akan diaktifkan, yang merupakan respons otomatis terhadap suatu peristiwa. Selain memantau peristiwa SQL Server, SQL Server Agent juga dapat memantau kondisi performa dan peristiwa Windows Management Instrumentation (WMI).

Untuk menentukan pemberitahuan, Anda menentukan:

  • Nama pemberitahuan.

  • Kondisi peristiwa atau performa yang memicu pemberitahuan.

  • Tindakan yang SQL Server Agent ambil sebagai respons terhadap peristiwa atau kondisi performa.

Penamaan Pemberitahuan

Setiap pemberitahuan harus memiliki nama. Nama pemberitahuan harus unik dalam instans SQL Server dan tidak boleh lebih dari 128 karakter.

Memilih Jenis Peristiwa

Pemberitahuan merespons peristiwa jenis tertentu. Pemberitahuan merespons jenis peristiwa berikut:

  • peristiwa SQL Server

  • SQL Server kondisi performa

  • Peristiwa WMI

Jenis peristiwa menentukan parameter yang Anda gunakan untuk menentukan peristiwa yang tepat.

Menentukan Peristiwa SQL Server

Anda dapat menentukan pemberitahuan yang akan terjadi sebagai respons terhadap satu atau beberapa peristiwa. Gunakan parameter berikut untuk menentukan peristiwa yang memicu pemberitahuan:

  • Nomor kesalahan

    SQL Server Agent mengaktifkan pemberitahuan saat terjadi kesalahan tertentu. Misalnya, Anda dapat menentukan nomor kesalahan 2571 untuk merespons upaya yang tidak sah untuk memanggil Perintah Konsol Database (DBCC).

  • Tingkat keparahan

    SQL Server Agent mengaktifkan pemberitahuan ketika terjadi kesalahan dari tingkat keparahan tertentu. Misalnya, Anda dapat menentukan tingkat keparahan 15 untuk merespons kesalahan sintaks dalam pernyataan Transact-SQL.

  • Database

    SQL Server Agent mengaktifkan pemberitahuan hanya ketika peristiwa terjadi dalam database tertentu. Opsi ini berlaku selain nomor kesalahan atau tingkat keparahan. Misalnya, jika instans berisi satu database yang digunakan untuk produksi dan satu database yang digunakan untuk pelaporan, Anda dapat menentukan pemberitahuan yang merespons kesalahan sintaksis dalam database produksi saja.

  • Teks peristiwa

    SQL Server Agent mengaktifkan pemberitahuan saat peristiwa yang ditentukan berisi string teks tertentu dalam pesan peristiwa. Misalnya, Anda dapat menentukan pemberitahuan yang merespons pesan yang berisi nama tabel tertentu atau batasan tertentu.

Memilih Kondisi Performa

Anda dapat menentukan pemberitahuan yang akan terjadi sebagai respons terhadap kondisi performa tertentu. Dalam hal ini, Anda menentukan penghitung kinerja untuk dipantau, ambang batas untuk pemberitahuan, dan perilaku yang harus ditampilkan penghitung jika pemberitahuan terjadi. Untuk mengatur kondisi performa, Anda harus menentukan item berikut ini di halaman SQL Server Agent Umum dari kotak dialog Pemberitahuan Baru atau Properti Pemberitahuan:

  • Object

    Objek adalah area performa yang akan dipantau.

  • Penghitung

    Penghitung adalah atribut area yang akan dipantau.

  • Instans

    Instans SQL Server menentukan instans tertentu (jika ada) atribut yang akan dipantau.

  • Pemberitahuan jika penghitung dan Nilai

    Ambang batas untuk pemberitahuan dan perilaku yang menghasilkan pemberitahuan. Ambang batas adalah angka. Perilakunya adalah salah satu dari berikut ini: berada di bawah ini, menjadi sama dengan, atau naik di atas angka yang ditentukan untuk Nilai. Nilai adalah angka yang menjelaskan penghitung kondisi performa. Misalnya, untuk mengatur pemberitahuan yang akan terjadi untuk objek performa SQLServer:Locks saat Waktu Tunggu Kunci melebihi 30 menit, Anda akan memilih naik di atas dan menentukan 30 sebagai nilai.

    Sebagai contoh lain, Anda dapat menentukan bahwa pemberitahuan terjadi untuk objek performa SQLServer:Transactions ketika ruang kosong di tempdb berada di bawah 1000 KB. Untuk mengatur ini, Anda akan memilih penghitung Ruang kosong di tempdb (KB), termasuk di bawah ini, dan Nilai1000.

    Catatan

    Data performa diambil sampelnya secara berkala, yang dapat menyebabkan penundaan kecil (beberapa detik) antara ambang batas yang dicapai dan terjadinya pemberitahuan performa.

    Catatan

    Variabel log Peristiwa yang menyimpan nama server dibatasi hingga 32 karakter. Oleh karena itu, jika ukuran gabungan nama host dan nama instans Anda lebih besar dari 32 karakter, Anda mungkin mendapatkan kesalahan berikut:

Warning,[466] Failed to copy server name LONGNAMESQLSERV\LONGINSTANCENAME while generating performance counter alerts.

Memilih Peristiwa WMI

Anda dapat menentukan bahwa pemberitahuan terjadi sebagai respons terhadap peristiwa WMI tertentu. Untuk memilih peristiwa WMI, Anda harus menentukan hal berikut ini di halaman SQL Server Agent Umum dari kotak dialog Pemberitahuan Baru atau Properti Pemberitahuan:

  • Ruang nama

    SQL Server Agent mendaftar sebagai klien WMI ke namespace layanan WMI yang disediakan untuk mengkueri peristiwa.

  • Kueri

    SQL Server Agent menggunakan pernyataan Windows Management Instrumentation Query Language (WQL) yang disediakan untuk mengidentifikasi peristiwa tertentu.

Berikut ini adalah tautan ke tugas umum:

Untuk membuat pemberitahuan berdasarkan nomor pesan

Untuk membuat pemberitahuan berdasarkan tingkat keparahan

Untuk membuat pemberitahuan berdasarkan peristiwa WMI

Untuk menentukan respons terhadap pemberitahuan

Untuk membuat pesan kesalahan peristiwa yang ditentukan pengguna

Untuk mengubah pesan kesalahan peristiwa yang ditentukan pengguna

Untuk menghapus pesan kesalahan peristiwa yang ditentukan pengguna

Untuk menonaktifkan atau mengaktifkan kembali pemberitahuan

Lihat juga

sp_update_alert (Transact-SQL)