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

首頁 > 系統 > Windows > 正文

SQLSERVER誤刪SA密碼Windows登錄用戶的解決辦法

2020-04-13 19:41:36
字體:
來源:轉載
供稿:網友

想起來之前著急哥問我的一個問題,一個DBA刪除了Windows登錄用戶,而且SQLSERVER服務器的驗證方式是Windows身份驗證。

怎麼辦??

我當時給他的答復是:重裝系統數據庫master

今天看到這篇文章沒有了SA密碼,無法Windows集成身份登錄,DBA怎么辦?,有思路了

SQLSERVER誤刪SA密碼Windows登錄用戶的解決辦法

SQLSERVER誤刪SA密碼Windows登錄用戶的解決辦法

假設我們遇到很糟糕的情況

sa被禁用,服務器身份驗證為Windows身份驗證模式,Windows登錄用戶被刪,沒有其他sysadmin角色的登錄用戶

SQLSERVER誤刪SA密碼Windows登錄用戶的解決辦法

SQLSERVER誤刪SA密碼Windows登錄用戶的解決辦法

SQLSERVER誤刪SA密碼Windows登錄用戶的解決辦法

步驟一

停掉SQLSERVER:在命令行 net stop mssqlserver

SQLSERVER誤刪SA密碼Windows登錄用戶的解決辦法

步驟二

轉到SQLSERVER的安裝目錄

SQLSERVER誤刪SA密碼Windows登錄用戶的解決辦法

SQLSERVER誤刪SA密碼Windows登錄用戶的解決辦法

然后加上/m /f 參數

步驟三:以為單用戶模式啟動SQLSERVER

SQLSERVER誤刪SA密碼Windows登錄用戶的解決辦法

步驟四:打開SSMS

這時候一定不要馬上進行連接,需要點擊取消,然后在左上角的點擊新建查詢,這個步驟跟DAC(專用管理員連接)的步驟是一樣的

SQLSERVER誤刪SA密碼Windows登錄用戶的解決辦法

SQLSERVER誤刪SA密碼Windows登錄用戶的解決辦法

你會發現用Windows登錄用戶這時候可以登錄

步驟五:執行下面的SQL腳本1--打開xp_cmdshell功能2EXEC[sys].[sp_configure]@configname='xp_cmdshell',--varchar(35)3@configvalue=1--int4RECONFIGUREWITHoverride567--修改注冊表,修改身份驗證為混合驗證方式8USE[master]9GO10EXECxp_instance_regwriteN'HKEY_LOCAL_MACHINE',N'SoftwareMicrosoftMSSQLServerMSSQLServer',N'LoginMode',REG_DWORD,211GO1213--創建登錄名14CREATELOGIN[計算機名Administrator]FROMWINDOWS;15GO1617--賦予登錄名的權限為sysadmin18USEmaster19GO20EXEC[sys].[sp_addsrvrolemember]@loginame='計算機名Administrator',--sysname21@rolename=sysadmin--sysname2223--關閉xp_cmdshell功能24EXEC[sys].[sp_configure]@configname='xp_cmdshell',--varchar(35)25@configvalue=0--int26RECONFIGUREWITHoverride

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

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

SQLSERVER誤刪SA密碼Windows登錄用戶的解決辦法

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

SQLSERVER誤刪SA密碼Windows登錄用戶的解決辦法

步驟七:登錄SQLSERVER

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

SQLSERVER誤刪SA密碼Windows登錄用戶的解決辦法

SQLSERVER誤刪SA密碼Windows登錄用戶的解決辦法

總結

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

沒有了SA密碼,無法Windows集成身份登錄,DBA怎么辦?

一同事反饋SQL無法正常登錄了,以前都是通過windows集成身份驗證登錄進去的(sa密碼早忘記了),今天就改了服務器的機器名,現在無論如何都登錄不進去。

SQL登錄時如果采用windows集成身份驗證,登錄框將會以“機器名當前系統用戶名”的格式顯示登錄名,而且登錄名和密碼都是灰色的,不允許用戶輸入。

了解到同事剛剛修改了服務器的機器名,因此在SQL的登陸框中顯示“新機器名當前系統用戶名”。要知道windows集成身份驗證能登錄的原因是在SQL的登錄名中已經包括了該用戶名,原來的用戶名在SQL安裝的時候已經記錄到了SQL中,如果機器名變更了,“新機器名當前系統用戶名”肯定無法正常登錄。

SQLSERVER誤刪SA密碼Windows登錄用戶的解決辦法

網上看到有人說可以采用OSQL–S instancename –E(在命令行窗口中輸入)登錄進去后再去修改sa的密碼,一番嘗試后發現是扯談,因為采用這種方式的前提是需要windows集成身份能夠登錄。

后來在微軟的官網上看到一篇文檔,原來只要在SQL的啟動參數中加一個“-m”的選項(記得在-m前加分號),然后需要重啟SQL服務,再次用SQL Management Studiowindows集成身份驗證登陸就可以了。

SQLSERVER誤刪SA密碼Windows登錄用戶的解決辦法

-m表示單用戶登錄。細心的讀者可能會質疑了:只是加了-m,但最后還是采用的windows集成身份驗證,理論說跟之前使用SQLOS –S instancename –E有什么區別呢?

這個問得非常專業。當時我也沒有搞明白,覺得有點不可思議,但結果就是這樣,肯定有其道理。后來在微軟的官網上找到了這段話。

Start the instance of sql server in single-user mode by using either the-mor-foptions. Any member of the computer's local Administrators group can then connect to the instance of sql server as a member of the sysadmin fixed server role.

大概的意思是說當在SQL的啟動參數中添加了-m或者-f參數時,計算機本地管理員組的任何一個用戶都可以sysadmin的身份登錄到SQL

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 懂色av懂色aⅴ精彩av | 久久久一区二区三区视频 | 嫩草影院在线观看网站成人 | 欧洲精品久久 | 国产69精品久久久久久野外 | 午夜精品久久久久久久久久久久久蜜桃 | 精品国产一二区 | 香蕉久草在线 | 性毛片视频| 嫩草影院在线观看网站成人 | 国产成人精品自拍视频 | 精品影视一区二区 | 露脸各种姿势啪啪的清纯美女 | 久久99国产精品免费网站 | 9191色| 水多视频在线观看 | 嗯哈~不行好大h双性 | 中文字幕在线第二页 | 国产精品1区2区在线观看 | 精品国产1区2区3区 免费国产 | 久久久久电影网站 | 欧美成人久久 | 99爱在线免费观看 | 龙床上的呻吟高h | 久久精品一区二区三区四区五区 | 欧美1| 深夜福利视频免费观看 | 久久福利小视频 | 羞羞视频免费观看入口 | 毛片大全免费看 | 在线播放中文 | 精品国产欧美一区二区 | 日韩黄色片网站 | 爱唯侦察 国产合集 亚洲 | 免费观看黄视频 | 在线成人一区二区 | 中文字幕在线观看国产 | 欧美成人小视频 | 草草免费视频 | 99精彩视频在线观看 | 日本免费中文字幕 |