exec sp_addlinkedserver @ServerName,N'SQL Server'     
EXEC sp_addlinkedsrvlogin @ServerName, 'false', NULL, @UserName, @Password你最好使用N'string'那样的形式,毕竟采用unicode的方式会好一点
这个方面我做过,应该还算了解

解决方案 »

  1.   

    exec sp_addlinkedserver @ServerName,N'SQL Server'     
    EXEC sp_addlinkedsrvlogin @ServerName, 'false', NULL, @UserName, @Password你最好使用N'string'那样的形式,毕竟采用unicode的方式会好一点
    这个方面我做过,应该还算了解
      

  2.   

    USE master
    GO
    EXEC sp_addlinkedserver 
        'server2',
        N'SQL Server'
    GOEXEC sp_addlinkedsrvlogin 'server2', 'false', NULL, 'Sa', 'pass'
    GOSELECT * FROM server2.tools.dbo.tb_ciq
      

  3.   

    USE master
    GO
    EXEC sp_addlinkedserver 
        'server2',
        N'SQL Server'
    GOEXEC sp_addlinkedsrvlogin 'server2', 'false', NULL, 'Sa', 'pass'
    GOSELECT * FROM server2.tools.dbo.tb_ciq
      

  4.   

    GO是一个批处理结束的标志。所以,你在那里加上这个以后,就代表这个存储过程结束了。这样就会出现问题了。如果不加GO的话,就没有提交,所以,没有建立链接服务器。你这样处理一下看看,把
    sp_addlinkedserver 
       'Remote_Server', 
       '', 
       'MSDASQL',
       NULL,
       NULL,
       'DRIVER={SQL Server};SERVER=DEV-DC ;UID=sa ;PWD=sqladmin;'
      GO
      转换成一个长的字符串,然后在EXEC里执行。如果还有问题,你就只能手工建立链接服务器了。
      

  5.   

    1:服务器操作EXEC sp_addlinkedserver 
       'Test', --名称
       '', 
       'MSDASQL',
       NULL,
       NULL,
       'DRIVER={SQL Server};SERVER=服务器名;UID=sa;PWD=密码;'
    GO
    -------以上为添加连接服务器exec sp_addlinkedsrvlogin 'test','false','sa','sa',''
      

  6.   

    你是要将数据处理完成后删除链接服务器吧?
    那就不要加上gogo是代表一个批处理结束,如果加上它,则表明你的存储过程只包含
    CREATE PROCEDURE GetDepartMentData121
    AS
    --增加连接服务器
       EXEC sp_addlinkedserver 
       'Remote_Server', 
       '', 
       'MSDASQL',
       NULL,
       NULL,
       'DRIVER={SQL Server};SERVER=DEV-DC ;UID=sa ;PWD=sqladmin;'
      EXEC sp_addlinkedsrvlogin  'Remote_Server','false' ,NULL,'sa','sqladmin'
      GO
    ----------------------------------------------------------------
    后面的部分已经不属于存储过程  --这里执行数据导入操作
      exec sp_droplinkedsrvlogin 'Remote_Server',null
        EXEC sp_dropserver 'Remote_Server'
      

  7.   

    如果你在存储过程设计器中书写,那就肯定会错,因为go只能在查询分析器中使用,代表一个批处理结束.
    按照我理解的意思,你应该删除go
      

  8.   

    EXEC sp_addlinkedserver 
       'Remote_Server', 
       '', 
       'MSDASQL',
       NULL,
       NULL,
       'DRIVER={SQL Server};SERVER=DEV-DC ;UID=sa ;PWD=sqladmin;'
      EXEC sp_addlinkedsrvlogin  'Remote_Server','false' ,NULL,'sa','sqladmin'
    最好不要在stored procedure中写,你可以写一个*.SQL的脚本,然后通过ISQL来执行。
      

  9.   

    20多个远程的数据库服务器每个里面4个表的数据要
    集中到总部服务器上
    总部服务器上表中存放着每个机器名和用户名密码
    我想循环执行一个存储过程把数据导入总部的机器
    做个JOB存储过程要每个周一自动运行一下
      

  10.   

    创建下面的存储过程进行数据处理:
    create proc p_merg
    as
    declare @srvname varchar(250),@username varchar(250),@pwd varchar(100)--定义游标,取得各远程服务器的信息
    declare #tb cursor for select 服务器名,用户名,密码 from 保存远程信息的表
    open #tb
    fetch next from #tb into @srvname,@username,@pwd
    while @@fetch_status=0
    begin
    --创建链接服务器
    exec sp_addlinkedserver  'Link_server','','SQLOLEDB',@srvname
    exec sp_addlinkedsrvlogin 'Link_server','false',null,@username,@pwd --数据导入处理,根据你的情况写
    insert into 表 select * from Link_server.数据库名..表名 --数据处理完成后删除链接服务器
    exec sp_dropserver 'Link_server','droplogins'
    fetch next from #tb into @srvname,@username,@pwd
    end
    close #tb
    deallocate #tbgo
    创建一个JOB,设置每周一执行,JOB的执行语句如下:exec p_merg
      

  11.   

    http://expert.csdn.net/Expert/TopicView1.asp?id=2215343