日期:2014-05-17  浏览次数:20659 次

用脚本从一个SQLServer连另一个SQLServer的问题
需求是这样:
有两个SQLServer,一个假设是ServerA,一个是ServerB
根据网上查得的资料,可以这么操作
EXEC  sp_addlinkedserver
      @server='DBVIP',--服务器别名 
       @srvproduct='',
      @provider='SQLOLEDB',
      @datasrc='192.168.6.155'   --要访问的服务器
GO
执行这一步,结果为
(所影响的行数为 1 行)
(所影响的行数为 1 行)

EXEC sp_addlinkedsrvlogin 'DBVIP',False,NULL,'sa','sa' --密码
GO
执行这一步,结果
(所影响的行数为 0 行)
(所影响的行数为 1 行)
(所影响的行数为 0 行)
(所影响的行数为 1 行)

Select   *   from DBVIP.NetKing.dbo.MyTable
下SQL时,报错:
服务器: 消息 18452,级别 14,状态 1,行 1
用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联。
不知为什么。
说明:两个SQLServer登录模式为Windows和SQLServer混合模式。
------解决方案--------------------
先创建链接服务器.
------解决方案--------------------
用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联
错误提示信息已说明情况了............
------解决方案--------------------
1.在服务器端使用企业管理器,并且选择"使用   Windows   身份验证"连接上   SQL   Server  

  操作步骤:  

  在企业管理器中  

  --右键你的服务器实例(就是那个有绿色图标的)  

  --编辑SQL   Server注册属性  

  --选择"使用windows身份验证"  

   

  --选择"使用SQL   Server身份验证"   

  --登录名输入:sa,密码输入sa的密码  

  --确定  

   

  2.设置允许SQL   Server身份登录  

  操作步骤:  

  在企业管理器中  

  --展开"SQL   Server组",鼠标右键点击SQL   Server服务器的名称  

  --选择"属性"  

  --再选择"安全性"选项卡  

  --在"身份验证"下,选择"SQL   Server和   Windows   ".  

  --确定,并重新启动SQL   Server服务.  
------解决方案--------------------
 在以上解决方法中,如果在第   1   步中使用"使用   Windows   身份验证"连接   SQL   Server   失败, 那就通过修改注册表来解决此问题:  

   

  1.点击"开始"-"运行",输入regedit,回车进入注册表编辑器  

  2.依次展开注册表项,浏览到以下注册表键:  

  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]  

  3.在屏幕右方找到名称"LoginMode",双击编辑双字节值  

  4.将原值从1改为2,点击"确定"  

  5.关闭注册表编辑器  

  6.重新启动SQL   Server服务.  

   

  此时,用户可以成功地使用sa在企业管理器中新建SQL   Server注册,  

  但是仍然无法使用Windows身份验证模式来连接SQL   Server.  

  这是因为在   SQL   Server   中有两个缺省的登录帐户:  

  BUILTIN\Administrators  

  <机器名>\Administrator   被删除.  

  要恢复这两个帐户,可以使用以下的方法: