BEGIN DISTRIBUTED TRANSACTION TABLOCKX
SELECT * FROM openrowset('sqloledb','REMOTE_SERVER_NAME';'SA';'',DB_NAME.dbo.TABLE_NAME)
commit transaction没锁住远程照样能插入.

解决方案 »

  1.   

    共用鎖
    在第一個連接中執行以下語句
    begin tranSELECT * FROM openrowset('sqloledb','REMOTE_SERVER_NAME';'SA';'',DB_NAME.dbo.TABLE_NAME), holdlock -holdlock人為加鎖waitfor delay '00:00:30' --等待30秒commit tran
      

  2.   

    上面多個逗號SELECT * FROM openrowset('sqloledb','REMOTE_SERVER_NAME';'SA';'',DB_NAME.dbo.TABLE_NAME holdlock -holdlock人為加鎖
      

  3.   

    暈!SELECT * FROM openrowset('sqloledb','REMOTE_SERVER_NAME';'SA';'',DB_NAME.dbo.TABLE_NAME) holdlock
      

  4.   

    在作业内添加时
    SELECT * FROM openrowset('sqloledb','REMOTE_SERVER_NAME';'SA';'',DB_NAME.dbo.TABLE_NAME )holdlock 
    不行
    SELECT * FROM openrowset('sqloledb','REMOTE_SERVER_NAME';'SA';'',DB_NAME.dbo.TABLE_NAME )TABLOCKX
    可以