insert 本地库名..表名 select * from OPENDATASOURCE(
         'SQLOLEDB',
         'Data Source=远程ip;User ID=sa;Password=密码'
         ).库名.dbo.表名

解决方案 »

  1.   

    或使用联结服务器:
    EXEC sp_addlinkedserver 
       '别名', 
       '', 
       'MSDASQL',
       NULL,
       NULL,
       'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'
    GO
    然后你就可以如下:
    select * from 别名.库名.dbo.表名
    insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
    select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
    go
      

  2.   

    BEGIN DISTRIBUTED TRANSACTIONinsert into db2.dbo.t2 select * from db1.dbo.t1 t1 where t1.id=关键字delete from db1.dbo.t1 t1 where t1.id=关键字COMMIT TRAN
      

  3.   

    to feelingrun:
        我开始也是这样做的,但sqlserver报“新事务不能登记到指定的事务处理器中”错误
      

  4.   

    我一直用openrowset,请问楼上的,两个server怎么link?
      

  5.   

    create proc 名
    as
    SET ANSI_NULL_DFLT_ON on --注意
    SET ANSI_WARNINGS on select * from open...-------------------启动分布式事务------------------------------
    本地和远程都需要启动
    DISTRIBUTED TRANSACTION COORDINATOR服务。
      

  6.   

    link server 上面大力讲了啊