Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Untuk menerapkan pemberitahuan peristiwa, Anda harus terlebih dahulu membuat layanan target untuk menerima pemberitahuan peristiwa, lalu membuat pemberitahuan peristiwa.
Penting
Keamanan dialog Service Broker harus dikonfigurasi untuk pemberitahuan peristiwa yang mengirim pesan ke broker layanan di server jarak jauh. Keamanan dialog harus dikonfigurasi secara manual sesuai dengan model keamanan penuh.
Membuat Layanan Target
Anda tidak perlu membuat layanan yang memulai Service Broker karena Service Broker mencakup jenis pesan dan kontrak tertentu berikut untuk pemberitahuan peristiwa:
https://schemas.microsoft.com/SQL/Notifications/PostEventNotification
Layanan target yang menerima pemberitahuan peristiwa harus mematuhi kontrak yang sudah ada sebelumnya ini.
Untuk membuat layanan target:
Buat antrean untuk menerima pesan.
Catatan
Antrean menerima jenis pesan berikut:
http://schemas.microsoft.com/SQL/Notifications/QueryNotification.Buat layanan pada antrean yang mereferensikan kontrak pemberitahuan peristiwa.
Buat rute pada layanan untuk menentukan alamat tempat Service Broker mengirim pesan untuk layanan. Untuk pemberitahuan peristiwa yang menargetkan layanan dalam database yang sama, tentukan
ADDRESS = 'LOCAL'.Catatan
Perutean Service Broker menentukan layanan yang menerima pesan pemberitahuan. Jika pemberitahuan peristiwa menargetkan layanan di server jarak jauh, server sumber dan server target harus memiliki rute yang ditentukan untuk memastikan bahwa komunikasi dua arah terjadi.
Contoh berikut ini membuat antrean, layanan pada antrean tersebut, dan rute pada layanan untuk memproses pesan dari kontrak pemberitahuan peristiwa.
CREATE QUEUE NotifyQueue ;
GO
CREATE SERVICE NotifyService
ON QUEUE NotifyQueue
(
[http://schemas.microsoft.com/SQL/Notifications/PostEventNotification]
);
GO
CREATE ROUTE NotifyRoute
WITH SERVICE_NAME = 'NotifyService',
ADDRESS = 'LOCAL';
GO
Membuat Pemberitahuan Peristiwa
Pemberitahuan peristiwa dibuat dengan menggunakan pernyataan TRANSACT-SQL CREATE EVENT NOTIFICATION, dan dihapus dengan menggunakan pernyataan DROP EVENT NOTIFICATION. Untuk mengubah pemberitahuan peristiwa, Anda harus menghilangkan dan membuat ulang pemberitahuan peristiwa.
Contoh berikut membuat pemberitahuan peristiwa CreateDatabaseNotification. Pemberitahuan ini mengirimkan pesan mengenai setiap kejadian CREATE_DATABASE yang terjadi di server ke layanan NotifyService yang telah dibuat sebelumnya.
CREATE EVENT NOTIFICATION CreateDatabaseNotification
ON SERVER
FOR CREATE_DATABASE
TO SERVICE 'NotifyService', '8140a771-3c4b-4479-8ac0-81008ab17984' ;
Perhatian
Pemberitahuan peristiwa mengenali peristiwa CREATE_SCHEMA dan <definisi schema_element> pernyataan CREATE SCHEMA sebagai peristiwa terpisah. Misalnya, pemberitahuan peristiwa dibuat pada peristiwa CREATE_SCHEMA dan CREATE_TABLE, dan Anda menjalankan batch berikut.
CREATE SCHEMA s
CREATE TABLE t1 (col1 int)
Dalam hal ini, pemberitahuan peristiwa dinaikkan dua kali: Satu kali ketika peristiwa CREATE_SCHEMA terjadi, dan sekali lagi ketika peristiwa CREATE_TABLE terjadi. Sebaiknya hindari membuat pemberitahuan peristiwa pada peristiwa CREATE_SCHEMA dan teks <schema_element> dari definisi CREATE SCHEMA yang sesuai, atau mengimplementasikan logika dalam aplikasi Anda untuk menghindari pengambilan data peristiwa yang tidak diinginkan.
Untuk membuat pemberitahuan peristiwa
Untuk menghilangkan pemberitahuan peristiwa
Lihat Juga
Mendapatkan Informasi Tentang Pemberitahuan Peristiwa
EVENTDATA (Transact-SQL)