在查询服务器中,想访问另一个服务器的数据库,我用如下语句访问,出现Server: Msg 18456, Level 14, State 1, Line 1,Login failed for user 'sa'.错误。应该如何修改?请高手帮忙!谢谢!
--USE master
--GO
--EXEC sp_addlinkedserver
 --   'DQDBSERVER',
 --   N'SQL Server'
--GOselect * from DQDBSERVER.copyACIS.dbo.zdzWind

解决方案 »

  1.   

    出现Server: Msg 18456, Level 14, State 1, Line 1,Login failed for user 'sa'.错误。看看你的服务器名字或者IP以及用户帐户和密码是否正确。。
      

  2.   

    前提条件:
    --添加要访问的服务器
    exec sp_addlinkedserver [ip]
    --添加要访问的服务器登录
    EXEC sp_addlinkedsrvlogin 'ip', 'false', NULL, '登录名(sa)','密码(没有为NULL)'然后进行语句的查询 例如:
    select * from [ip].数据库名.dbo.表名
      

  3.   

    噢 还有一点我忘记了,那就是启动SQL的 DTC 服务。
    印象里好像两个服务器都要启动DTC 你可以只启动自己的DTC试试。 好久没有,模糊了~~
      

  4.   

    直接在服务器上建立一个新的吗直接选择连上就可以
    也可以用INI文件做管理写个函数调用就可以了
      

  5.   

    关于连接远程服务器很麻烦,如果上述方法你还是访问不了远程服务器,那么接下来你需要做的是找到c:\windows\system32\drivers\etc\host 用文本打开,按照 “机器名   IP地址”
    的格式将远程服务器的信息写入,同样,远程服务器下的host文件也要写入你自己这个服务器的信息。这样就ok了。