SQLSERVER误删除了Windows登录用户验证方式使用Windows身份验证的解决方法

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,独享型 2核4GB
简介: 原文:SQLSERVER误删除了Windows登录用户验证方式使用Windows身份验证的解决方法SQLSERVER误删Windows登录用户验证方式使用Windows身份验证的解决方法 今天看到这篇文章:没有了SA密码,无法Windows集成身份登录,DBA怎么办? 想起来之前着急哥问我的一...
原文: SQLSERVER误删除了Windows登录用户验证方式使用Windows身份验证的解决方法

SQLSERVER误删Windows登录用户验证方式使用Windows身份验证的解决方法

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

想起来之前着急哥问我的一个问题,一个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 GO
10 EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2
11 GO
12 
13 --创建登录名
14 CREATE LOGIN [计算机名\Administrator] FROM WINDOWS;
15 GO
16 
17 --赋予登录名的权限为sysadmin
18 USE master
19 GO
20 EXEC [sys].[sp_addsrvrolemember] @loginame = '计算机名\Administrator', -- sysname
21     @rolename = sysadmin -- sysname
22 
23 --关闭xp_cmdshell功能
24 EXEC [sys].[sp_configure] @configname = 'xp_cmdshell', -- varchar(35)
25     @configvalue = 0 -- int
26 RECONFIGURE WITH override

这时候身份验证方式已经改为混合验证方式

 

步骤六:关掉SQLSERVER,再重新启动

打开SQLSERVER配置管理器,启动SQLSERVER

步骤七:登录SQLSERVER

回到SSMS,可以看到这时候恢复正常了


总结

感谢i6first大侠,之前一直以为无法子了,想不到他想到了用单用户模式启动的方法来进入SQLSERVER

 

参考文章:GRANT 服务器权限 (Transact-SQL)

 

如有不对的地方,欢迎大家拍砖o(∩_∩)o 

 

2014-2-26补充:

在进行上面操作之前,SQL BROSWER服务一定要开启,否则在进行步骤四的时候会提示数据库处于单用户模式,不能登录!!

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
9月前
|
自然语言处理 文字识别 语音技术
VMWare 安装英文版 Windows XP 后遇到中文乱码问题的解决方法
VMWare 安装英文版 Windows XP 后遇到中文乱码问题的解决方法
VMWare 安装英文版 Windows XP 后遇到中文乱码问题的解决方法
|
9月前
|
人工智能 Windows
windows小问题解决方法
windows小问题解决方法
38 0
|
27天前
|
Windows
Windows批处理(BAT)文件执行时“一闪而过或闪退”问题及解决方法
Windows批处理(BAT)文件执行时“一闪而过或闪退”问题及解决方法
33 1
|
17天前
|
安全 网络协议 Linux
【Windows】已解决:修改本地host文件异常的正确解决方法
【Windows】已解决:修改本地host文件异常的正确解决方法
29 0
|
20天前
|
NoSQL Redis Windows
redis双击闪退解决方法,windows版的redis资源,redis安装,win资源可下
redis双击闪退解决方法,windows版的redis资源,redis安装,win资源可下
|
2月前
|
存储 安全 Windows
Windows无法完成格式化怎么办?5种解决方法
在使用电脑时,我们有时会遇到“Windows无法完成格式化”的问题,这可能由磁盘写保护、权限限制、物理损坏或磁盘占用等原因引起。为解决这个问题,可以尝试关闭写保护开关、提升格式化权限、使用第三方工具、在CMD中用diskpart命令格式化或检查磁盘健康状况。如果磁盘有重要数据,可以先用数据恢复软件拯救数据。如果以上方法无效,可能需要专业售后检查修复或更换硬件。记得在操作前备份重要文件,以防数据丢失。
|
2月前
|
SQL 数据管理 关系型数据库
如何在 Windows 上安装 SQL Server,保姆级教程来了!
在Windows上安装SQL Server的详细步骤包括:从官方下载安装程序(如Developer版),选择自定义安装,指定安装位置(非C盘),接受许可条款,选中Microsoft更新,忽略警告,取消“适用于SQL Server的Azure”选项,仅勾选必要功能(不包括Analysis Services)并更改实例目录至非C盘,选择默认实例和Windows身份验证模式,添加当前用户,最后点击安装并等待完成。安装成功后关闭窗口。后续文章将介绍SSMS的安装。
75 0
|
2月前
|
弹性计算 Linux Windows
阿里云ECS更换系统时提示主机名不支持windows镜像要求的解决方法
在阿里云上,我们更换ECS云服务器操作系统镜像从Linux镜像更换为Windows镜像时,常常会遇到提示主机名格式不支持windows镜像要求,这是什么缘故呢,那如何才能更改这个系统不提示呢?下面给大家分享一下修改主机名的方法:
472 0
|
2月前
|
SQL 安全 数据库
SQL Server 2022 安装步骤——SQL Server设置身份验证教程
SQL Server 2022 安装步骤——SQL Server设置身份验证教程
339 0
|
8月前
|
SQL Windows
Windows 下80端口被进程 System & PID=4 占用的解决方法
Windows 下80端口被进程 System & PID=4 占用的解决方法
385 0