Pemberitahuan kueri di SQL Server

Dibangun pada infrastruktur Service Broker, pemberitahuan kueri memungkinkan aplikasi diberi tahu ketika data telah berubah. Fitur ini sangat berguna untuk aplikasi yang menyediakan cache informasi dari database, seperti aplikasi Web, dan perlu diberi tahu saat data sumber diubah.

Microsoft. Data.SqlClient menyediakan dua kelas untuk pemberitahuan kueri:

  • Gunakan SqlNotificationRequest untuk menjalankan perintah dengan permintaan pemberitahuan dan memproses pesan Service Broker sendiri.

  • Gunakan SqlDependency untuk mendeteksi perubahan melalui OnChange peristiwa. Microsoft.Data.SqlClient mengelola listener dan mengekspos informasi pemberitahuan dalam argumen event.

Important

Jangan gunakan System.Data.SqlClient untuk pengembangan baru. Gunakan Microsoft.Data.SqlClient sebagai gantinya. Kelas ASP.NET Framework SqlCacheDependency memerlukan System.Data.SqlClient dan tidak berintegrasi dengan Microsoft.Data.SqlClient. Untuk aplikasi Microsoft.Data.SqlClient baru, berlangganan SqlDependency.OnChange dan membatalkan entri melalui API cache aplikasi Anda.

Notifikasi kueri digunakan untuk aplikasi yang perlu menyegarkan tampilan atau cache sebagai respons terhadap perubahan pada data yang mendasarinya. SQL Server memungkinkan aplikasi .NET mengirim perintah dan meminta pemberitahuan jika perintah yang sama akan menghasilkan kumpulan hasil yang berbeda dari yang awalnya diambil. Notifikasi yang dihasilkan di server dikirim melalui antrean untuk diproses nanti.

Anda dapat menyiapkan pemberitahuan untuk laporan SELECT dan EXECUTE. Saat menggunakan pernyataan EXECUTE, SQL Server mendaftarkan pemberitahuan untuk perintah yang dijalankan daripada pernyataan EXECUTE itu sendiri. Perintah harus memenuhi persyaratan dan batasan untuk pernyataan SELECT statement. Ketika perintah yang mendaftarkan pemberitahuan berisi lebih dari satu pernyataan, Mesin Database membuat pemberitahuan untuk setiap pernyataan dalam batch.

Jika Anda mengembangkan aplikasi yang memerlukan pemberitahuan sub-detik yang andal saat data berubah, tinjau bagian Merencanakan Strategi Pemberitahuan Kueri yang Efisien dan Alternatif untuk Pemberitahuan Kueri di Perencanaan untuk artikel Notifikasi. Untuk informasi selengkapnya tentang pemberitahuan kueri dan SQL Server Service Broker, lihat tautan berikut ke artikel di dokumentasi SQL Server.

Dokumentasi SQL Server

Di Bagian Ini

Mengaktifkan Pemberitahuan Kueri Membahas cara menggunakan pemberitahuan kueri, termasuk persyaratan untuk mengaktifkan dan menggunakannya.

Mendeteksi Perubahan dengan SqlDependency Menunjukkan cara mendeteksi kapan hasil kueri akan berbeda dari yang awalnya diterima.

Eksekusi SqlCommand dengan SqlNotificationRequest Menunjukkan cara mengonfigurasi SqlCommand objek untuk pemberitahuan kueri.

Referensi

SqlNotificationRequest Menjelaskan SqlNotificationRequest kelas dan semua anggotanya.

SqlDependency Menjelaskan SqlDependency kelas dan semua anggotanya.

SqlCacheDependencyMenjelaskan kelas dependensi cache ASP.NET Framework untuk System.Data.SqlClient. Ini tidak membungkus dependensi Microsoft.Data.SqlClient.

Lihat juga