建立链接服务器,然后就可以了select 工号 from tbl1 where 工号 not in (select 工号 from [192.26.0.2].dbname.dbo.tbl2)

解决方案 »

  1.   

    必須先將Server連接進目前的SQL Server中才行,而連接方法是建立連接伺服器:
    exec sp_addlinkedserver '192.168.0.1','SQL Server'
    exec sp_addlinkedserver '192.168.0.2','SQL Server'
    select 工号 into a from [192.26.0.1].dbname.dbo.tab1 where 工号 not in (select 工号 from [192.26.0.2].dbname.dbo.tbl2)
    insert into [192.26.0.2].dbname.dbo.tbl2 from select * from a
      

  2.   

    ls_jingwen(靜雯) 同学的这个方法怎么使用啊?我拷贝下来直接在192.168.0.1下的SQL2000中运行,报错啊
    Could not find server '192.26.0.2' in sysservers. Execute sp_addlinkedserver to add the server to sysservers.
      

  3.   

    1、假设本地服务器192.168.0.1,远端服务器192.168.0.2。
    2、在192.168.0.2服务器上建立用户:User,密码:000
    3、在192.168.0.1服务器上执行如下语句:
    exec sp_addlinkedserver  'srv_lnk','','SQLOLEDB','192.168.0.2'
    exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'User','000'
    go
    3、在本地访问192.168.0.2上的数据库查询示例如下:
    select * from srv_lnk.数据库名.dbo.表名
    4、以后不再使用时删除链接服务器
    exec sp_dropserver 'srv_lnk','droplogins'
    go
    5、你所说的语句应该是:
    select 工号 from tbl1 where 工号 not in (select 工号 from srv_lnk.数据库名.dbo.tbl2)insert into srv_lnk.数据库名.dbo.tbl2(工号)
    select 工号 from tbl1 where 工号 not in (select 工号 from srv_lnk.数据库名.dbo.tbl2)注意:此语句应该在本地服务器192.168.0.1上执行
      

  4.   

    那怎麽判斷是否連接上了?
    exec sp_addlinkedserver  'srv_lnk','','SQLOLEDB','192.168.0.2'
    這條語句,如果沒有連接,執行語句就會成功,如果已經連接,再執行語句就會報錯呀
    難道要使用觸發器,每次自動關閉?那太不方便了。有什麽可以判斷的語句嗎?
      

  5.   

    怎麽判斷是否連接上了?
    exec sp_addlinkedserver  'srv_lnk','','SQLOLEDB','192.168.0.2'
    這條語句,如果沒有連接,執行語句就會成功,如果已經連接,再執行語句就會報錯呀