sqlserver 忘记sa密码如何重置?

如果知道任何其他有sysadmin权限的用户密码,包括启用了混合身份验证的windows账号密码。那很简单,登录,直接修改sa密码即可。

如果不知道任何sysadmin权限的用户密码,但有windows的管理员权限账号,那么也能重置sa密码。

操作步骤如下:

1. 以单用户模式启动SQL Server实例(以管理员权限运行cmd窗口)

C:\Windows\system32>net stop mssqlserver
SQL Server (MSSQLSERVER) 服务正在停止.
SQL Server (MSSQLSERVER) 服务已成功停止。

C:\Windows\system32>net start mssqlserver /m"SQLCMD"
SQL Server (MSSQLSERVER) 服务正在启动 .
SQL Server (MSSQLSERVER) 服务已经启动成功。

 

若非单实例启动,使用sqlcmd连接会遇到类似报错:

C:\Windows\system32>sqlcmd
Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : Login failed for user 'xxx\xxxx’

 

2. 使用sqlcmd以信任方式登录数据库,修改sa密码

在另外一个cmd窗口使用sqlcmd以信任方式登录数据库,参数-E 表示 [-E trusted connection]

C:\Windows\system32>sqlcmd -E
1> alter login sa with password='xxx';
2> go

 

3. 启用sa用户

重置完之后会发现sa被禁用了,需要启用

1> alter login sa enable;
2> go

当然也可以创建windows账号授予sysadmin角色

C:\>sqlcmd -E
1> CREATE LOGIN [dba\mysa] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english]
2> GO
1> ALTER SERVER ROLE [sysadmin] ADD MEMBER [xxx\xxx]
2> GO

或者SQL认证账号

C:\>sqlcmd -E
1> CREATE LOGIN [test1] WITH PASSWORD=N'Qw123456', DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
2> GO

1> ALTER SERVER ROLE [sysadmin] ADD MEMBER [test1]
2> GO

 

4. 以正常方式重启sqlserver,登录即可

 

参考

https://www.cnblogs.com/kerrycode/p/8931386.html

发布了295 篇原创文章 · 获赞 35 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/Hehuyi_In/article/details/103198774
今日推荐