SQL server本地管理员帐号无法登录的解决办法

网络整理 - 08-20

这几天在讲SQL Server 2008的课程,今天头一天,因为主办方准备的环境是用做好的同一个虚拟机,然后分发到很多台实验用的机器后,用sysprepare这种工具,修改了电 脑名称。一早就遇到大家无法登录到SQL Server的问题,不管是用本地管理员,还是SA帐号。


1.首先从Windows身份验证方式登录

2.右键点击“服务器”,选择“属性”

3.在左侧找到“安全性”,里面有个Windows身份登录,还有一个“SQL Server和Windows身份验证”,选择第二个。

SQL server本地管理员帐号无法登录的解决办法

4.重启SQLSERVER服务。(还是右键点击“服务器”,就是根节点,选择重启服务器

 

我分析下来,本地管理员无法登录的原因就是因为电脑名称修改了之后,现在的本地管理员的SID已经不是修改之前那个本地管理员的SID了,而SQL Server里面其实保存的是SID,并不是用户名称,所以导致他无法登录服务器。而至于用SA帐号无法登录,是因为主办方在准备这个环境的时候,并没有 启用混合验证模式。

 


大致的步骤就是:

用本地管理员登录,停止SQL Server服务
修改SQL Server服务的启动参数,在原先的启动参数后面添加 “;-m”(不要带双引号),这是将SQL Server设置进入单用户模式
启动SQL Server服务,使用sqlcmd登录到SQL Server服务器
执行exec sp_addsvrrolemember ‘MachineNameAdministrator’ ‘sysadmin’;GO;(请注意,红色部分要替换为你的本地管理员帐号)
停止SQL Server服务,将原先添加的启动参数“;-m”删除掉
启动SQL Server服务
建议大家安装SQL Server的时候,还是设置混合验证模式和SA密码,然后要保护好这个密码。