使用联结服务器:
EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'
exec sp_addlinkedsrvlogin  @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'
GO然后你就可以如下:
exec 服务器别名.db2.proc2select * from 别名.库名.dbo.表名
insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
go

解决方案 »

  1.   

    企业管理器-->右键SQlserver组-->新建sqlserver注册-->下一步-->写入远程实例名(IP,机器名)-->下一步-->选Sqlserver登陆-->下一步-->写入登陆名与密码(sa,pass)-->下一步-->下一步-->完成
      

  2.   

    select * into 本地库名..表名 from OPENDATASOURCE(
             'SQLOLEDB',
             'Data Source=远程ip;User ID=sa;Password=密码'
             ).库名.dbo.表名insert 本地库名..表名 select * from OPENDATASOURCE(
             'SQLOLEDB',
             'Data Source=远程ip;User ID=sa;Password=密码'
             ).库名.dbo.表名或使用联结服务器:
    EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'
    exec sp_addlinkedsrvlogin  @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'
    GO
    然后你就可以如下:
    select * from 别名.库名.dbo.表名
    insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
    select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
    go
      

  3.   

    --创建链接服务器
    exec sp_addlinkedserver  'srv_lnk','','SQLOLEDB','xz'
    exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'sa'
    exec sp_serveroption 'srv_lnk','rpc out','true'
    go--然后用下面的执行远程服务器上的存储过程
    exec srv_lnk.数据库名.dbo.存储过程名go
    --后删除链接服务器
    exec sp_dropserver 'srv_lnk','droplogins'
      

  4.   

    上面的操作是个例子,根据你的情况再描述一下:
    在查询分析器中登陆到服务器A,执行下面的语句,创建链接到服务器B的链接服务器:--创建链接服务器
    exec sp_addlinkedserver  'srv_lnk','','SQLOLEDB','服务器B'
    exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'sa'  --如果有密码,加上:,'密码'
    exec sp_serveroption 'srv_lnk','rpc out','true'
    go--然后在db1的table1的存储过程proc1中这样来调用服务器B上的存储过程
    create proc proc1
    as
    exec srv_lnk.db2.dbo.proc2
    go