--绑定连接的使用示例(在查询分析器中进行)--首先创建一个测试表
create table tb(a int)
go--不使用绑定连接的测试(a窗口)
begin tran
insert tb values(100)
--开始一个新窗口(b窗口),写上如下代码并执行
begin tran
update tb set a=50--此时的执行结果是产生的阻塞,b窗口的处理要等a窗口的处理完成后才能进行下一步
--------------------------------------------------------------------------
--使用绑定连接的测试(a窗口)
declare @bind_token varchar(255)
begin tran
execute sp_getbindtoken @bind_token output
print @bind_token --记下这个结果,后面要用到
insert tb values(100)
--开始一个新窗口(b窗口),写上如下代码并执行(不会产生阻塞)
begin tran
update tb set a=50
rollback tran--回a窗口执行
select * from tb/*--结果:此会话中的活动事务已由另外一个会话提交或终止。(所影响的行数为 0 行)
--*/
go--最后删除测试环境
drop table tb

解决方案 »

  1.   

    --首先创建一个测试表
    create table tb(a int)
    go--使用绑定连接的测试(a窗口)
    declare @bind_token varchar(255)
    begin tran
    execute sp_getbindtoken @bind_token output
    print @bind_token --记下这个结果,后面要用到
    insert tb values(100)
    --开始一个新窗口(b窗口),写上如下代码并执行(不会产生阻塞)
    EXEC sp_bindsession 'Q[Bi.QbB\AC8\:d9kdY\UM5----;G]--'  --这个是值是上面要求记下的结果
    begin tran
    update tb set a=50
    rollback tran--回a窗口执行
    select * from tb/*--结果:此会话中的活动事务已由另外一个会话提交或终止。(所影响的行数为 0 行)
    --*/
    go--最后删除测试环境
    drop table tb