sqlsa密码,[转]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密码,然后要保护好这个密码。
Tags: 

延伸阅读

最新评论

发表评论