SQL Server的Windows身份验证和sa登录都被禁用解决方法
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
当SQL Server所有用户都被禁用了怎么办,数据库是不可能重装数据库,这辈子都不可能的。我用的是Win10+SQL Server2012,总结下网上前辈的方法,找了好几个帖子,汇总了一下,亲测可用。不过时间久远了,有点忘记了,还是留点参考吧(处理完了忘了记下来)。
--禁用所有账户
DECLARE @sql NVARCHAR(MAX)
SELECT @sql=ISNULL(@sql,'')+'alter login ['+s.name+'] disable;
' FROM sys.syslogins AS s WHERE s.name NOT LIKE '##%##'
PRINT @sql
EXEC (@sql) 做完这一步, 这个SQL Server暂时算是废了, 关闭当前的查询窗口, 再也无法连接了。
解决方法:
一、创建一个新的Windows 用户帐户, 名称任意, 类型为管理员;
二、用新创建的用户名登录Windows;
三、进入服务窗口,停止 SQL Server2012 服务;
四、到命令提示符,右键"以管理员身份运行" ;
五、若以上均无问题,则切换到安装路径,即Binn下sqlservr.exe的路径:
如:cd C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn,执行 sqlservr.exe,即单用户模式进入了。
六、再以管理员身份开启一个CMD窗口(我记得开不开启都可以),输入SQLCMD -A,这样就可以进入sqlcmd
执行SQL, 创建一个新的 sysadmin 权限的SQL账户, 脚本如下:
USE [master]
GO
CREATE LOGIN [admin] WITH PASSWORD=N'admin', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
ALTER SERVER ROLE [sysadmin] ADD MEMBER [admin]
GO
七、然后用这个admin用户登录数据库,将sa用户和windows身份验证启用即可。
该文章在 2021/6/16 9:29:22 编辑过 |
关键字查询
相关文章
正在查询... |