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)

SQLSERVER误删Windows登录用户的更多相关文章

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

    今天看到这篇文章:没有了SA密码,无法Windows集成身份登录,DBA怎么办? 想起来之前着急哥问我的一个问题,一个DBA删除了Windows登录用户,而且SQLSERVER服务器的验证方式是Win ...

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

    SQLSERVER误删Windows登录用户验证方式使用Windows身份验证的解决方法 今天看到这篇文章:没有了SA密码,无法Windows集成身份登录,DBA怎么办? 想起来之前着急哥问我的一个问 ...

  3. Windows 登录用户的类型

    转载:http://blog.csdn.net/chenlycly/article/details/45419259 1.登录的是超级管理员Administrator 默认情况下,超级管理员Admin ...

  4. SQLServer无法删除登录名'***',因为该用户当前正处于登录状态解决方法

    问题描述: sqlserver在删除登录名的时候提示删除失败 标题: Microsoft SQL Server Management Studio -------------------------- ...

  5. 自定义HttpModule,用于未登录用户,不弹出Windows认证窗口,而是跳转回SSO站点

    2012年的一篇随笔记录,可以学习到如何自定义HttpModule,而具体里面针对需求开发的代码,可能未必能让大伙了解到什么,可快速扫描而过. using System; using System.W ...

  6. (4.25)Sqlserver中 登录用户只能看到自己拥有权限的库

    Sqlserver中 登录用户只能看到自己拥有权限的库 转自:https://www.cnblogs.com/huangtailang/p/4209180.html 相关参考:https://www. ...

  7. sqlserver用windows方式验证登录踩过的坑

    坑位一: 之前没用过windows验证方式登录sqlserver,连接串怎么写 坑位二: 链接上了,但是启动报错 八月 19, 2020 9:33:43 上午 com.microsoft.sqlser ...

  8. Sqlserver中 登录用户只能看到自己拥有权限的库

    执行之前新建用户时不要赋予任何权限 USE master GO --将所有数据库的查看权限给Public角色,每个登录用户只能查看指定的数据库 --此语句会导致服务器上所有的用户在没有设置数据库权限的 ...

  9. Windows下如何查看当前登录用户

    1.通过whoami命令查看 2.通过username变量查看,具体命令如下:echo %username% 上述两种方法只能查看当前会话用户信息,那么如何看到其他登录用户呢? 可以通过执行query ...

随机推荐

  1. Cocos2d-x3.0 RenderTexture(一) 保存

    .h #include "cocos2d.h" #include "cocos-ext.h" #include "ui/CocosGUI.h" ...

  2. DevExpress XtraReports 入门一 创建 Hello World 报表

    原文:DevExpress XtraReports 入门一 创建 Hello World 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更 ...

  3. iOS开发必看的博客汇总

    OneV's Den http://onevcat.com/ 沉船家园 http://beyondvincent.com/ NSHipster http://nshipster.cn/ Limboy ...

  4. oracle_五千万数据插入测试

    --创建表 tab_a -- create table tab_a (id int primary key not null,pid int); --创建序列 /** create sequence ...

  5. Linux查看非root流程执行

    Linux查看非root流程执行 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps -U root -u root -N PID TTY TIME CMD ...

  6. Advance Installer安装问题

    一,在Advance Installer中注冊dll 1,首先将文件加入到Files And Folders中.此处以InstallValidate.dll为例. 2,在Custom Action处进 ...

  7. 使用SignalR打造消息总线

    使用SignalR为FineUI/Webform打造消息总线 第一次写博客,语言组织能力不好,请大家多多包涵! 效果图如下: 图片的右下角即为SignalR消息总线的消息框. 一.建立SignalR服 ...

  8. 跟着大神重写的KNN 文档归类小工具

    ·背景 在知道KNN之前,楼主有时候会粗糙地做一些分类模型的计算.在拜读了Orisun大神[http://www.cnblogs.com/zhangchaoyang/articles/2162393. ...

  9. 修改 dll

    由于没有源码,想改dll,就要依靠反汇编了. 输入 ildasm.exe 据说也可以直接 C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin 找到该软件 ...

  10. PHP-微信公众平台开发-接收用户输入消息类型并响应

    原文:PHP-微信公众平台开发-接收用户输入消息类型并响应 <?php // 该代码块用于接收用户消息,根据用户输入的消息类型进行判断,文本,图片,视频,位置,链接,语音等,并取得值,处理后给予 ...