想起來之前著急哥問我的一個問題,一個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
新聞熱點
疑難解答