[SQL Server]SQL Server驗證帳號誤刪處理方式

有時候我們在實作LAB時,不小心手滑了,不小心砍掉本機上SQL Server服務的登入帳號,

這時sa帳號或Windows驗證沒辦法登入,有些人會土法煉鋼的方式乾脆的重裝SQL Server,

在這裡記錄一下Windows驗證 與 SQL Server驗證登入失敗處理方式

因為要進入單一登入模式,需先將SQL Server及相關的服務(如SQL Server Agent)停止

Command Line 下停止SQL Server服務

net stop MSSQLSERVER /Y

MSSQLSERVER 為服務名稱,需依照不同Instance Name改變

 

再來用單一模式啟動SQL Server服務(啟動參數m)

參考

net start MSSQLSERVER /m

接下來使用sqlcmd連接到服務將登入帳戶重新建立

以上步驟也適用重建系統資料庫或更改部分設定,如定序等。

參考

use master
go
alter login [sa] with password=N'Pw@rebuild',
/*依照自己需要狀況設定
default_database=[master],
default_language=[English],
check_expiration=ON,
check_policy=ON*/
go

/*重建Windows登入*/
create login [BUILTIN\Administrators] from WINDOWS 
/*with default_database=[master],
default_language=[English],*/
go

 

建立完成後將帳號啟用

use master
alter login [sa] enable
go

alter login [BUILTIN\Administrators] enable
go

將SQL Server及Windows 混和驗證模式打開

以下其實是針對SQL Server 所屬的登錄檔進行修正,1為Windows驗證,2為混合驗證

use master
go
exec xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2
go

了解的人都知道改完登陸檔服務需重啟。

這時我們先將SQL Server服務停掉

net stop MSSQLSERVER /Y

並用一般啟動參數啟動服務

net start MSSQLSERVER /Y

大功告成 !