麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > 綜合 > 正文

SQLSERVER誤刪除了Windows登錄用戶驗證方式使用Windows身份驗證的解決方法

2024-07-21 02:51:08
字體:
來源:轉載
供稿:網友
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 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

這時候身份驗證方式已經改為混合驗證方式

步驟六:關掉SQLSERVER,再重新啟動

打開SQLSERVER配置管理器,啟動SQLSERVER

步驟七:登錄SQLSERVER

回到SSMS,可以看到這時候恢復正常了


總結

感謝i6first大俠,之前一直以為無法子了,想不到他想到了用單用戶模式啟動的方法來進入SQLSERVER

參考文章:GRANT 服務器權限 (Transact-SQL)

如有不對的地方,歡迎大家拍磚o(∩_∩)o

2014-2-26補充:

在進行上面操作之前,SQL BROSWER服務一定要開啟,否則在進行步驟四的時候會提示數據庫處于單用戶模式,不能登錄!!

2014-11-20補充:

今晚某童鞋找到我,說他禁用了Windows登錄用戶和sa,無辦法再登錄SQLSERVER,服務器上跑著百萬PV的網站

停機的話電話就會打爆,他使用了本文的方法,可惜不奏效

詳細講解:

如果禁用了sa和禁用了Windows登錄用戶(注意:是禁用不是刪除)

那么使用上述方法的時候,在啟動SQLSERVER的時候會報錯:Windows帳戶 計算機名/Administrator 已被禁用

解決方法:在Windows上新建一個 Administrator組的Windows帳戶 比如 test帳戶,隸屬于Administrator組

然后切換Windows登錄用戶到test ,使用上面的方法,用“管理員身份運行” CMD,以/m /f 啟動sqlserver

用sqlcmd 進入命令行就可以了

原理:sqlserver里的Windows帳戶是跟Windows的帳戶用SID綁定映射的

SQL首先使用你當前登錄的Windows帳戶來登錄sqlserver,這樣就導致了當Windows帳戶被禁用的話他不會使用sa來登錄(也就是其他擁有sysadmin權限的

登錄用戶來登錄,不考慮SQL登錄驗證)

我這里的方法是切換到別的Windows帳戶下,這樣SQL就找不到當前Windows帳戶跟SQL里面的登錄用戶的SID登錄映射

SQLSERVER就會使用sa來登錄


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美福利视频一区二区三区 | 好吊一区二区三区 | 逼特逼视频在线观看 | 内地av在线 | 国产91在线高潮白浆在线观看 | 九九热在线视频免费观看 | 91精品久久久久久久久 | 久久人| 成人一级视频在线观看 | 黄色片网站免费在线观看 | 久久精品欧美一区二区三区不卡 | 国产精品性夜天天视频 | 国产永久免费观看 | 久久精品成人影院 | 综合97 | 男女无套免费视频 | 亚洲视频成人在线 | 美女黄影院 | 免费视频一区 | 午色影院 | 免费一级毛片免费播放 | 免费人成在线观看网站 | a级黄色片视频 | 99激情 | 精品一区二区三区在线观看国产 | 男女一边摸一边做羞羞视频免费 | 91在线视频精品 | 成人国产精品一区二区毛片在线 | 亚洲成在人 | 美女扒开腿让男生桶爽网站 | 久久国产成人精品国产成人亚洲 | 日本羞羞的午夜电视剧 | 蜜桃精品视频在线观看 | 国产99久久久久 | 国产伦精品一区二区三区在线 | 久草导航 | av播播 | 性感美女一级毛片 | 高清国产免费 | 欧美视频一区二区三区四区 | 国内自拍网址 |