现遇到这么一个问题:有一个很久没用的SQL Server 2008 R2 环境,要使用时发现用本地Windows身份验证登陆不上去,而且sa密码也忘了。为了保证里面的数据避免重装真的是翻了很多网站的资料,最终得以解决,在此将解决步骤归纳下来。

解决方案:

1、手动将正在运行的SQL Server 服务关闭

2、寻找SQL Server 安装目录中的sqlservr.exe文件,通常默认安装在:C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn

3、启动cmd命令提示符,注意:需要打开管理员版本,cd定位到上述目录中,然后敲入如下命令

sqlservr -c -m

输入回车后如下图所示,SQLServer处于单用户启动状态。

4、启动另外的一个cmd命令提示符,执行:sqlcmd,然后编写创建新用户且设为管理员的sql语句。

1> create login testuser with password='abc123'
2> go
上述代码输入完毕后回车,再输入下面代码
1> sp_addsrvrolemember 'testuser', 'sysadmin'
2> go
回车

例图:

上述操作完毕后,将两个cmd窗口全部关掉,手动重新开启SQL Server服务,打开Management Studio使用我们刚才建立的账号登陆,登陆后为超级管理员权限,即可修改sa密码、设置Windows身份验证等操作。