EXEC sp_addlinkedserver 
   '别名', 
   '', 
   'MSDASQL',
   NULL,
   NULL,
   'DRIVER={SQL Server};SERVER=sqlserver1;UID=sa;PWD=;'
GO=-----------------
select * from 别名.库名.dbo.表名这个可以吗?

解决方案 »

  1.   

    EXEC sp_addlinkedserver 
       'Test', --名称
       '', 
       'MSDASQL',
       NULL,
       NULL,
       'DRIVER={SQL Server};SERVER=服务器名;UID=sa;PWD=密码;'
    GO
    -------以上为添加连接服务器exec sp_addlinkedsrvlogin 'test','false','sa','sa',''
    select * from  Test.库名.dbo.表名 
    orSELECT a.*
    FROM OPENROWSET('MSDASQL',
       'DRIVER={SQL Server};SERVER=serve;UID=sa;PWD=sa',
       db.dbo.table) AS aSELECT *
    FROM OPENQUERY(TEST, 'SELECT name, id FROM db.table') 你什么出错了
      

  2.   

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

  3.   

    insert 本地库名..表名 (列1,列2) select 列1,列2 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
    然后你就可以如下:
    insert 库名.dbo.表名 (列名1,列名2) select 列名1,列名2 from 别名.库名.dbo.表名
    go
      

  4.   

    哦,谢谢各位高手了。
    我看到那个帖子上没有说要再  exec sp_addlinkedsrvlogin   :)
    所以。我的第二个问题呢——- 最后要让服务器自动定时导数据应当。。?什么方法最好。
                         是否生成sql一样的东东 (主要是我还要用到别的地方,数据库数据源会是一样的?)
      

  5.   

    写一个STORED PROCEDURE,在通过JOB定时调用即可,当然要启动:
    SQL SERVER AGENT service.