首页 > 服务器 > Win服务器 > 正文

SQLSERVER误删SA密码 无法Windows登录用户的解决办法

2024-09-10 00:03:17
字体:
来源:转载
供稿:网友

想起来之前着急哥问我的一个问题,一个DBA删除了Windows登录用户,而且SQLSERVER服务器的验证方式是Windows身份验证。

怎麽办??

我当时给他的答复是:重装系统数据库master

今天看到这篇文章没有了SA密码,无法Windows集成身份登录,DBA怎么办?,有思路了

假设我们遇到很糟糕的情况

sa被禁用,服务器身份验证为Windows身份验证模式,Windows登录用户被删,没有其他sysadmin角色的登录用户

步骤一:

停掉SQLSERVER:在命令行 net stop mssqlserver

步骤二:

转到SQLSERVER的安装目录

然后加上/m /f   参数

步骤三:以为单用户模式启动SQLSERVER

步骤四:打开SSMS

这时候一定不要马上进行连接,需要点击取消,然后在左上角的点击新建查询,这个步骤跟DAC(专用管理员连接)的步骤是一样的

你会发现用Windows登录用户这时候可以登录

步骤五:执行下面的SQL脚本

1 --打开xp_cmdshell功能 2 EXEC [sys].[sp_configure] @configname = 'xp_cmdshell', -- varchar(35) 3     @configvalue = 1 -- int 4 RECONFIGURE WITH override 5  6  7 --修改注册表,修改身份验证为混合验证方式 8 USE [master] 9 GO10 EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software/Microsoft/MSSQLServer/MSSQLServer', N'LoginMode', REG_DWORD, 211 GO12 13 --创建登录名14 CREATE LOGIN [计算机名/Administrator] FROM WINDOWS;15 GO16 17 --赋予登录名的权限为sysadmin18 USE master19 GO20 EXEC [sys].[sp_addsrvrolemember] @loginame = '计算机名/Administrator', -- sysname21     @rolename = sysadmin -- sysname22 23 --关闭xp_cmdshell功能24 EXEC [sys].[sp_configure] @configname = 'xp_cmdshell', -- varchar(35)25     @configvalue = 0 -- int26 RECONFIGURE WITH override            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表