Megosztás a következőn keresztül:


sp_bindsession (Transact-SQL)

A következőkre vonatkozik:SQL Server

A munkameneteket az SQL Server adatbázismotor ugyanazon példányában lévő többi munkamenethez köti vagy köti le. A kötési munkamenetek lehetővé teszik, hogy két vagy több munkamenet részt vegyen ugyanabban a tranzakcióban, és megoszthassa a zárolásokat egy ROLLBACK TRANSACTION vagy COMMIT TRANSACTION kiadásáig.

Fontos

Ez a funkció az SQL Server egy későbbi verziójában lesz eltávolítva. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását. Használjon több aktív eredményhalmazt (MARS) vagy elosztott tranzakciókat. További információ: Több aktív eredményhalmaz (MARS) használata natív SQL Server-ügyfélalkalmazásban.

Transact-SQL szintaxis konvenciói

Szintaxis

sp_bindsession { 'bind_token' | NULL }

Érvek

Fontos

A kiterjesztett tárolt eljárások argumentumait a Szintaxis szakaszban leírt sorrendben kell megadni. Ha a paraméterek sorrenden kívül vannak beírva, hibaüzenet jelenik meg.

'bind_token'

Az eredetileg a sp_getbindtoken vagy az Open Data Services srv_getbindtoken függvény használatával beszerzett tranzakciót azonosító jogkivonat. bind_tokenvarchar(255).

Kódértékek visszaadása

0 (sikeres) vagy 1 (hiba).

Megjegyzések

Két kötött munkamenet csak tranzakcióval és zárolással rendelkezik. Minden munkamenet megtartja a saját elkülönítési szintjét, és az új elkülönítési szint beállítása az egyik munkamenetre nincs hatással a másik munkamenet elkülönítési szintjére. Minden munkamenetet a biztonsági fiókja azonosít, és csak azokat az adatbázis-erőforrásokat érheti el, amelyekhez a fiók engedélyt kap.

sp_bindsession kötési jogkivonatot használ két vagy több meglévő ügyfél-munkamenet kötéséhez. Ezeknek az ügyfél-munkameneteknek ugyanazon az adatbázismotor-példányon kell lenniük, ahonnan a kötési jogkivonatot beszerezték. A munkamenet egy parancsot végrehajtó ügyfél. A kötött adatbázis-munkamenetek tranzakcióval és zárolási területtel rendelkeznek.

Az adatbázismotor egyik példányából beszerzett kötési jogkivonat nem használható egy másik példányhoz csatlakoztatott ügyfél-munkamenethez, még DTC-tranzakciókhoz sem. A kötési jogkivonat csak helyileg érvényes az egyes példányokon belül, és nem osztható meg több példányon. Az adatbázismotor egy másik példányán lévő ügyfél-munkamenetek kötéséhez másik kötési jogkivonatot kell beszereznie a sp_getbindtokenvégrehajtásával.

sp_bindsession sikertelen, ha nem aktív jogkivonatot használ.

A munkamenetek közötti kapcsolat megszüntetése sp_bindsession használatával bind_token megadása nélkül, vagy NULLbind_token.

Engedélyek

A nyilvános szerepkör tagságát igényli.

Példák

Az alábbi példa a megadott kötési jogkivonatot az aktuális munkamenethez köti.

Jegyzet

A példában látható kötési jogkivonat a sp_bindsessionvégrehajtása előtt sp_getbindtoken végrehajtásával lett beszerezve.

USE master;
GO
EXECUTE sp_bindsession 'BP9---5---->KB?-V'<>1E:H-7U-]ANZ';
GO