作为一名DBA,你的职责就是保证数据的安全,为了达到要求,你移除了BUILTIN\Administrators组,禁用了sa登录名,修改了服务器端口,删除了所有的sysadmin权限的登录名,你可以连接到SQL Server实例,但是却没有sysadmin的权限,遇到这种情况的时候该如何解决?
那么下面介绍一种方法,即单用户模式登陆,然后创建SQL Server登录名,并赋予sysadmin角色。
- 打开cmd窗口,停掉SQL Server服务,此时会同时关掉SQL Server代理服务:
- 关闭结束后,使用单用户模式登陆SQL Server服务器,输入net start mssqlserver /f /t3608(如果是命名实例:net start mssql$instancename):
- 启动成功之后,键入SQLCMD命令,进入SQL命令行界面,然后用T-SQL创建登录名[single],并赋予sysadmin权限:
- 然后exit退出,并关闭SQL Server服务:net stop mssqlserver。
- 然后用配置管理工具开启SQL Server服务,然后用single登陆,可以看到登录名的single权限为sysadmin。
以上就可以成功的使用single登录名恢复sa,添加BUILTIN\Adminnistrator组等操作!
经过多次验证,以上方法只适用于SQL SERVER 2008R2版本之前,对于SQL SERVER 2012之后的版本,需要多两个步骤:
- 需要将本地服务器添加至已注册的服务器中
- 添加本地服务器:
- 再用单用户模式启动服务,添加sysadmin权限账户即可。