MULAI TIMER PERCAKAPAN (Transact-SQL)
Berlaku untuk: SQL Server
Azure SQL Managed Instance
Memulai timer. Ketika waktu habis, Service Broker menempatkan pesan jenis https://schemas.microsoft.com/SQL/ServiceBroker/DialogTimer
pada antrean lokal untuk percakapan.
Sintaksis
BEGIN CONVERSATION TIMER ( conversation_handle )
TIMEOUT = timeout
[ ; ]
Catatan
Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.
Argumen
MULAI TIMER PERCAKAPAN (conversation_handle)
Menentukan percakapan ke waktu. Conversation_handle harus berjenis uniqueidentifier.
BATAS WAKTU
Menentukan, dalam detik, jumlah waktu untuk menunggu sebelum meletakkan pesan pada antrean.
Keterangan
Timer percakapan menyediakan cara bagi aplikasi untuk menerima pesan pada percakapan setelah waktu tertentu. Memanggil BEGIN CONVERSATION TIMER pada percakapan sebelum timer kedaluwarsa mengatur batas waktu ke nilai baru. Tidak seperti masa pakai percakapan, setiap sisi percakapan memiliki timer percakapan independen. Pesan DialogTimer tiba di antrean lokal tanpa memengaruhi sisi jarak jauh percakapan. Oleh karena itu, aplikasi dapat menggunakan pesan timer untuk tujuan apa pun.
Misalnya, Anda dapat menggunakan timer percakapan untuk menjaga aplikasi tidak menunggu terlalu lama untuk respons yang terlambat. Jika Anda mengharapkan aplikasi menyelesaikan dialog dalam 30 detik, Anda mungkin mengatur timer percakapan untuk dialog tersebut menjadi 60 detik (30 detik ditambah masa tenggang 30 detik). Jika dialog masih terbuka setelah 60 detik, aplikasi menerima pesan waktu habis pada antrean untuk dialog tersebut.
Atau, aplikasi dapat menggunakan timer percakapan untuk meminta aktivasi pada waktu tertentu. Misalnya, Anda dapat membuat layanan yang melaporkan jumlah koneksi aktif setiap beberapa menit, atau layanan yang melaporkan jumlah pesanan pembelian terbuka setiap malam. Layanan mengatur timer percakapan kedaluwarsa pada waktu yang diinginkan; ketika timer kedaluwarsa, Service Broker mengirimkan pesan DialogTimer . Pesan DialogTimer menyebabkan Service Broker memulai prosedur tersimpan aktivasi untuk antrean. Prosedur tersimpan mengirim pesan ke layanan jarak jauh dan memulai ulang timer percakapan.
BEGIN CONVERSATION TIMER tidak valid dalam fungsi yang ditentukan pengguna.
Izin
Izin untuk mengatur timer percakapan default ke pengguna yang memiliki izin KIRIM pada layanan untuk percakapan, anggota peran server tetap sysadmin , dan anggota peran database tetap db_owner .
Contoh
Contoh berikut menetapkan batas waktu dua menit pada dialog yang diidentifikasi oleh @dialog_handle
.
-- @dialog_handle is of type uniqueidentifier and
-- contains a valid conversation handle.
BEGIN CONVERSATION TIMER (@dialog_handle)
TIMEOUT = 120 ;
Lihat Juga
MULAI PERCAKAPAN DIALOG (Transact-SQL)
AKHIRI PERCAKAPAN (Transact-SQL)
RECEIVE (Transact-SQL)