swsrl 发表于 2015-6-30 10:47:26

SQL SERVER本地管理员和SA帐号都无法访问的问题和解决方案

  这几天在讲SQL Server 2008的课程,今天头一天,因为主办方准备的环境是用做好的同一个虚拟机,然后分发到很多台实验用的机器后,用sysprepare这种工具,修改了电脑名称。一早就遇到大家无法登录到SQL Server的问题,不管是用本地管理员,还是SA帐号。
  
  我分析下来,本地管理员无法登录的原因就是因为电脑名称修改了之后,现在的本地管理员的SID已经不是修改之前那个本地管理员的SID了,而SQL Server里面其实保存的是SID,并不是用户名称,所以导致他无法登录服务器。而至于用SA帐号无法登录,是因为主办方在准备这个环境的时候,并没有启用混合验证模式。
  
  以前也遇到过类似的一个问题,但一下子忘记怎么解决的了。不管怎样,我们还是想办法解决掉了这个问题,参考了下面的博客文章
  http://blogs.msdn.com/b/raulga/archive/2007/07/12/disaster-recovery-what-to-do-when-the-sa-account-password-is-lost-in-sql-server-2005.aspx
  
  大致的步骤就是:

[*]用本地管理员登录,停止SQL Server服务
[*]修改SQL Server服务的启动参数,在原先的启动参数后面添加 “;-m”(不要带双引号),这是将SQL Server设置进入单用户模式
[*]启动SQL Server服务,使用sqlcmd登录到SQL Server服务器
[*]执行exec sp_addsvrrolemember ‘MachineName\Administrator’ ‘sysadmin’;GO;(请注意,红色部分要替换为你的本地管理员帐号)
[*]停止SQL Server服务,将原先添加的启动参数“;-m”删除掉
[*]启动SQL Server服务
  建议大家安装SQL Server的时候,还是设置混合验证模式和SA密码,然后要保护好这个密码。
页: [1]
查看完整版本: SQL SERVER本地管理员和SA帐号都无法访问的问题和解决方案