本帖最后由 finer 于 2011-08-25 09:52:55 编辑

解决方案 »

  1.   

    EXEC sp_addlinkedserver
          @server='DBVIP',--被访问的服务器别名(任意的名称)
          @srvproduct='',
          @provider='SQLOLEDB',
          @datasrc='MYSQLServer'   --要访问的服务器(SQL SERVER实例名)EXEC sp_addlinkedsrvlogin
         'DBVIP', --被访问的服务器别名
         'false',
         NULL,
         'sa', --登陆链接服务器的帐号
         '1q2w3e4R' --登陆链接服务器的密码--查看已注册的链接服务器
    --exec sp_linkedservers--把本地的表数据插入到链接服务器上的表中
    SELECT * INTO DBVIP.database_name.dbo.table_name FROM local_table_name
    --DBVIP.database_name.dbo.table_name 远程服务器完整表名(必须用4部分表示)
    --local_table_name 本地表名--用完后可删除
    --Exec sp_droplinkedsrvlogin DBVIP,NULL --删除链接服务器的登陆帐户
    --Exec sp_dropserver DBVIP --删除链接服务器
      

  2.   

    度了不行呢,错误:訊息 7202,層級 11,狀態 2,行 2
    在 sys.servers 中找不到伺服器 'sql14'。請確認所指定的伺服器名稱是否正確。如果需要,請執行預存程序 sp_addlinkedserver,將伺服器加入 sys.servers。
      

  3.   

    sql14  服务器名的问题,看是否有这个服务器
      

  4.   


    --需要动态执行
    create proc xxProc(@p)
    as
    begin 
    exec sp_addlinkedserver ......
    exec sp_addlinkedsrvlogin ......
     exec('select * from table1 where yy='+@p)exec sp_droplinkedsrvlogin ...
    exec sp_dropserver ...end
      

  5.   


    这样,下面的语句就不会提交结果啊!
    exec sp_addlinkedserver ......
    exec sp_addlinkedsrvlogin ......