srv_getbindtoken (Utökat Stored Procedure API)

Gäller för:SQL Server

Important

Den här funktionen tas bort i en framtida version av SQL Server. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen. Använd istället CLR-integration.

Erhåller en bind-token för transaktionen i den aktuella klientsessionen som anropar den utökade lagrade proceduren.

Den utökade lagrade proceduren kan sedan använda sp_bindsession för att binda varje ny session den skapar mot samma server till den befintliga transaktionen så att den nya sessionen kan dela samma transaktionslåsutrymme med klientsessionen som anropade den utökade lagrade proceduren.

Syntax

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

Arguments

srvproc
Är en pekare till den SRV_PROC struktur som är handtaget för en viss klientanslutning. Strukturen innehåller all information som Extended Stored Procedure API-biblioteket använder för att hantera kommunikation och data mellan applikationen och klienten.

bindtoken
Är en pekare till en buffert där bind-token kommer att kopieras. Bind-token representeras som en null-terminerad sträng. Bufferten du anger bör vara minst 255 byte lång.

Returns

SUCCEED eller FAIL.

Remarks

För att binda en utökad lagrad procedursession till klientsessionen som anropade den så att de delar samma transaktionslåsutrymme

  1. Den utökade lagrade proceduren anropar srv_getbindtoken för att hämta bind-token för den aktuella transaktionen i sessionen. Token returneras i den givna bindtoken-parametern .

  2. Den utökade lagrade proceduren öppnar nya sessioner mot samma server. Inom den sessionen använder den utökade lagrade proceduren bind-token med sp_bindsession för att binda den nya sessionen till samma transaktion. Den utökade lagrade proceduren kan skapa flera sessioner och binda alla sessioner till samma transaktion.

  3. En bunden session är obunden när den externa lagrade proceduren återvänder eller när sp_bindsession anropas med en tom sträng.

    Note

    Endast en bunden session åt gången kan ha tillgång till en delad anslutning. Om en session för närvarande kör ett sats på servern eller har resultat väntande från servern, kan inga andra sessioner som delar samma bundna anslutning få tillgång till servern förrän den aktuella sessionen har avslutat exekveringen av det aktuella satsen. Om en session försöker få åtkomst till anslutningen medan servern är upptagen, returneras ett fel till den konfliktfyllda sessionen som indikerar att anslutningen används och sessionen bör försöka igen senare.

Important

Du bör noggrant granska källkoden för utökade lagrade procedurer, och du bör testa de kompilerade DLL:erna innan du installerar dem på en produktionsserver. För information om säkerhetsgranskning och testning, se denna Microsoft-webbplats.