赞
踩
如果知道任何其他有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,登录即可
参考
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。