Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server-
Hiermee wordt een sessie aan andere sessies in hetzelfde exemplaar van de SQL Server Database Engine gebonden of ontkoppeld. Met bindingssessies kunnen twee of meer sessies deelnemen aan dezelfde transactie en worden vergrendelingen gedeeld totdat een ROLLBACK TRANSACTION of COMMIT TRANSACTION wordt uitgegeven.
Belangrijk
Deze functie wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie. Gebruik in plaats daarvan meerdere actieve resultatensets (MARS) of gedistribueerde transacties. Zie Using Multiple Active Result Sets (MARS) in SQL Server Native Clientvoor meer informatie.
Transact-SQL syntaxisconventies
Syntaxis
sp_bindsession { 'bind_token' | NULL }
Argumenten
Belangrijk
Argumenten voor uitgebreide opgeslagen procedures moeten worden ingevoerd in de specifieke volgorde, zoals beschreven in de sectie Syntaxis. Als de parameters niet in de volgorde zijn ingevoerd, treedt er een foutbericht op.
'bind_token'
Het token waarmee de transactie wordt geïdentificeerd die oorspronkelijk is verkregen met behulp van sp_getbindtoken of de srv_getbindtoken functie Open Data Services.
bind_token is varchar(255).
Codewaarden retourneren
0 (geslaagd) of 1 (mislukt).
Opmerkingen
Twee sessies die afhankelijk zijn, delen alleen een transactie en vergrendelingen. Elke sessie behoudt zijn eigen isolatieniveau en het instellen van een nieuw isolatieniveau op één sessie heeft geen invloed op het isolatieniveau van de andere sessie. Elke sessie blijft geïdentificeerd door het beveiligingsaccount en heeft alleen toegang tot de databasebronnen waaraan het account is gemachtigd.
sp_bindsession gebruikt een bindingstoken om twee of meer bestaande clientsessies te binden. Deze clientsessies moeten zich op hetzelfde exemplaar van de database-engine bevinden waaruit het bindingstoken is verkregen. Een sessie is een client die een opdracht uitvoert. Afhankelijke databasesessies delen een transactie en vergrendelingsruimte.
Een bindingstoken dat is verkregen van het ene exemplaar van de database-engine, kan niet worden gebruikt voor een clientsessie die is verbonden met een ander exemplaar, zelfs voor DTC-transacties. Een bindingstoken is alleen lokaal geldig binnen elk exemplaar en kan niet worden gedeeld tussen meerdere exemplaren. Als u clientsessies wilt binden op een ander exemplaar van de database-engine, moet u een ander bindingstoken verkrijgen door sp_getbindtokenuit te voeren.
sp_bindsession mislukt met een fout als er een token wordt gebruikt dat niet actief is.
Ontkoppelen van een sessie met behulp van sp_bindsession zonder bind_token op te geven of door NULL door te geven in bind_token.
Machtigingen
Vereist lidmaatschap van de openbare rol.
Voorbeelden
In het volgende voorbeeld wordt het opgegeven bindingstoken gekoppeld aan de huidige sessie.
Notitie
Het bindingstoken dat in het voorbeeld wordt weergegeven, is verkregen door sp_getbindtoken uit te voeren voordat sp_bindsessionwordt uitgevoerd.
USE master;
GO
EXECUTE sp_bindsession 'BP9---5---->KB?-V'<>1E:H-7U-]ANZ';
GO