Bagikan melalui


srv_getbindtoken (EXTENDED Stored Procedure API)

Berlaku untuk: SQL Server

Penting

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 integrasi CLR sebagai gantinya.

Mendapatkan token ikatan transaksi dalam sesi klien saat ini yang memanggil prosedur tersimpan yang diperluas.

Prosedur tersimpan yang diperluas kemudian dapat menggunakan sp_bindsession untuk mengikat sesi baru yang dibuatnya terhadap server yang sama ke transaksi yang ada sehingga sesi baru dapat berbagi ruang kunci transaksi yang sama dengan sesi klien yang memanggil prosedur tersimpan yang diperluas.

Sintaks

  
int srv_getbindtoken (  
SRV_PROC*  
srvproc  
,  
char*  
bindtoken  
);  

Argumen

srvproc
Adalah penunjuk ke struktur SRV_PROC yang merupakan handel untuk koneksi klien tertentu. Struktur berisi semua informasi yang digunakan pustaka EXTENDED Stored Procedure API untuk mengelola komunikasi dan data antara aplikasi dan klien.

bindtoken
Adalah penunjuk ke buffer tempat token ikatan akan disalin. Token ikatan direpresentasikan sebagai string null-terminated. Panjang buffer yang Anda tentukan harus setidaknya 255 byte.

Mengembalikan

BERHASIL atau GAGAL.

Keterangan

Untuk mengikat sesi prosedur tersimpan yang diperluas ke sesi klien yang memanggilnya sehingga mereka berbagi ruang kunci transaksi yang sama

  1. Prosedur tersimpan yang diperluas memanggil srv_getbindtoken untuk mendapatkan token ikatan untuk transaksi saat ini dalam sesi. Token dikembalikan dalam parameter bindtoken yang diberikan.

  2. Prosedur tersimpan yang diperluas membuka sesi baru terhadap server yang sama. Di dalam sesi itu, prosedur tersimpan yang diperluas menggunakan token ikat dengan sp_bindsession untuk mengikat sesi baru ke transaksi yang sama. Prosedur tersimpan yang diperluas dapat membuat beberapa sesi dan mengikat semua sesi ke transaksi yang sama.

  3. Sesi terikat tidak terikat saat prosedur tersimpan eksternal kembali atau ketika sp_bindsession dipanggil dengan string kosong.

    Catatan

    Hanya satu sesi terikat pada satu waktu yang dapat memiliki akses ke koneksi bersama. Jika satu sesi saat ini menjalankan pernyataan di server atau memiliki hasil yang tertunda dari server, tidak ada sesi lain yang berbagi koneksi terikat yang sama yang dapat memperoleh akses ke server sampai sesi saat ini selesai menjalankan pernyataan saat ini. Jika sesi mencoba mendapatkan akses ke koneksi saat server sibuk, kesalahan dikembalikan ke sesi yang bertentangan yang menunjukkan koneksi sedang digunakan dan sesi harus mencoba kembali nanti.

Penting

Anda harus meninjau kode sumber prosedur tersimpan yang diperluas secara menyeluruh, dan Anda harus menguji DLL yang dikompilasi sebelum menginstalnya di server produksi. Untuk informasi tentang peninjauan dan pengujian keamanan, lihat situs Web Microsoft ini.

Lihat Juga

sp_bindsession (T-SQL)
sp_getbindtoken (T-SQL)