Transact-SQL 参考

sp_bindsession

绑定或解除绑定与同一 Microsoft SQL Server 2000 实例中的其它事务的连接。绑定连接允许两个或更多的连接参与同一事务并共享该事务,直到发出 ROLLBACK TRANSACTION 或 COMMIT TRANSACTION 命令。

有关绑定连接的更多信息,请参见使用绑定连接

语法

sp_bindsession { 'bind_token' | NULL }

参数

'bind_token'

是标识事务的令牌,该令牌最初通过使用 sp_getbindtoken 或开放式数据服务 srv_getbindtoken 函数获得。bind_token 的数据类型为 varchar(8000)

返回代码值

0(成功)或 1(失败)

注释

sp_bindsession 使用绑定令牌绑定两个或多个现有客户端连接。这些客户端连接必须位于获得绑定令牌的同一 SQL Server 2000 实例中。连接是执行命令的客户端。绑定数据库连接共享事务和锁空间。

从一个 SQL Server 2000 实例中获得的绑定令牌不能用于另一实例上的客户端连接,甚至对 DTC 事务也是如此。绑定令牌仅在每个 SQL Server 的内部有效,不能在多个 SQL Server 实例间共享。对于位于另一 SQL Server 实例上的客户端连接,必须通过执行 sp_getbindtoken 获取另一个绑定令牌。

如果使用非活动令牌,则 sp_bindsession 将失败并出现错误。

通过省略 bind_token 或向 bind_token 中传递 NULL 可以从会话中取消绑定。

可以通过 ODBC、DB-LIBRARY 函数或者 isql 实用工具执行 sp_bindsession

重要  在执行 sp_bindsession 之前,必须通过运行 sp_getbindtoken 或者开放式数据服务 srv_getbindtoken 函数获得绑定令牌。

若要获得和传递绑定令牌,请在执行 sp_bindsession 前运行 sp_getbindtoken,以共享同一事务。如果获得绑定令牌,则 sp_bindsession 可正确运行。

权限

执行许可权限默认授予 public 角色。

示例

此示例将指定的绑定令牌绑定到当前会话。

说明  通过先执行 sp_getbindtoken 后执行 sp_bindsession,可以获得以下显示的绑定令牌。

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

请参见

sp_getbindtoken

srv_getbindtoken

系统存储过程