在一台机器上创建一台名为 Server2 的链接服务器:
USE master
EXEC sp_addlinkedserver 'server2',N'SQL Server'然后创建一个映射,使用帐号 Sa 和密码 Password 连接到链接服务器 Server2:
EXEC sp_addlinkedsrvlogin 'Server2', 'false', NULL, 'Sa', 'Password'最后导数据:
insert into Server2.dbname.dbo.tablename
  SELECT * FROM tablename

解决方案 »

  1.   

    --直接用导入/导出不是更好吗?sql200企业管理器
    --右键要导出的数据库
    --所有任务
    --导出数据
    --设置目标数据库
    --然后选择"在两个SQL数据库之间复制数据和对象"
    --将"创建目的对象"的选择取消(如果对象已经建好的话),其他根据需要设置
    --最后完成.
      

  2.   

    当然,无论用sql语句,还是用sql的导入/导出,都需要你的服务器是通的.即:
    1.先保证ping通(有防火墙的先关闭防火墙)
    2.在命令提示符下执行:telnet <服务器ip地址> 1433 不会报错
      

  3.   

    --用sql语句--访问不同电脑上的数据库(远程只要联好网就一样)--如果经常访问或数据量大,建议用链接服务器--创建链接服务器
    exec sp_addlinkedserver  'srv_lnk','','SQLOLEDB','远程服务器名或ip地址'
    exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
    go--查询示例
    select * from srv_lnk.数据库名.dbo.表名--导入示例
    select * into 表 from srv_lnk.数据库名.dbo.表名go
    --以后不再使用时删除链接服务器
    exec sp_dropserver 'srv_lnk','droplogins'
    --如果只是临时访问,可以直接用openrowset
    --查询示例
    select * from openrowset('SQLOLEDB'
    ,'sql服务器名';'用户名';'密码'
    ,数据库名.dbo.表名)
    --导入示例
    select * into 表 from openrowset('SQLOLEDB'
    ,'sql服务器名';'用户名';'密码'
    ,数据库名.dbo.表名)