sp_bindsession (języka Transact-SQL)

Binds or unbinds a session to other sessions in the same instance of the SQL Server Database Engine.Wiązanie sesji zezwala na dwóch lub większej liczby sesji uczestniczyć w tej samej transakcji i udostępnianie blokady, dopóki nie wydano zatwierdzanie TRANSACTION lub ROLLBACK TRANSACTION programu.

Aby uzyskać więcej informacji na temat związany sesji zobacz Przy użyciu wiązania sesje.

Important noteImportant Note:

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Użyj wielu zestawów wyniki Active (MARS) lub transakcji rozproszonych.Aby uzyskać więcej informacji zobacz Za pomocą wielu wyników Active ustawia (MARS) lub Distributed Transactions (Database Engine).

Topic link iconKonwencje składni języka Transact-SQL

sp_bindsession { 'bind_token' | NULL }

Argumenty

  • 'bind_token'
    Is the token that identifies the transaction originally obtained by using sp_getbindtoken or the Open Data Services srv_getbindtoken function.bind_tokenis varchar(255).

Wartości kodów powrotnych

0 (sukces) lub 1 (brak)

Remarks

Dwie sesje, które są powiązane udostępniać tylko transakcji i blokady.Każda sesja zachowuje swoją własną poziom izolacji i ustawienie nowego poziomu izolacji dla jednej sesji nie ma wpływu na poziom izolacji innej sesji.Każda sesja pozostaje zidentyfikowanych przez jej konto zabezpieczeń, a mogą uzyskać dostęp tylko do tych zasobów bazy danych, do których konto ma udzielonego uprawnienia.

sp_bindsession używa powiązania, token powiązać dwa lub więcej istniejących klient sesji.Te sesje klient musi znajdować się na tym samym wystąpienie z Database Engine z którego pochodzi z tokenu wiązania. Sesja jest klient wykonywania polecenia.Sesje bazy danych związane udziału transakcji i blokowanie miejsca.

Token powiązania uzyskane z jednego wystąpienie Database Engine Nie można używać dla sesja klient podłączona do innego wystąpienie, nawet w przypadku transakcji DTC. Token powiązanie jest prawidłowe tylko lokalnie wewnątrz każdego wystąpienie i nie mogą być współużytkowane przez wiele wystąpień.Aby powiązać sesji klientów w innym wystąpieniu programu Database Engine, musisz otrzymać token powiązanie różnych przez sp_getbindtoken.

sp_bindsession zakończy się niepowodzeniem z powodu błędu, jeśli użyto tokenu, który nie jest aktywny.

Usunąć powiązania z sesja albo przy użyciu sp_bindsession bez określenia bind_token lub przekazując wartości NULL w bind_token.

Uprawnienia

Członkostwo w grupie wymaga publiczne roli.

Przykłady

W poniższym przykładzie wiąże token wiązanie określone w bieżącej sesja.

Uwaga

W przykładzie tokenu wiązania została uzyskana przez sp_getbindtoken przed wykonaniem sp_bindsession.

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