模擬錯誤發生
- 刪除唯一的 Login Win2008R2\Administrator
- 利用 SSMS 嘗試登錄 SQL Server
- 無法登錄
解決步驟
- Step1:利用系統管理員權限開啟[命令提示字元]
- Step2:開啟[單一使用者模式]
利用 net stop 語法停止 SQL Server
net stop MSSQL$SQL2012再利用 net start 搭配 m 啟動參數來開啟[單一使用者模式]
net start MSSQL$SQL2012 /m
利用 net stop (start) 有下列兩點需要注意
- 預設執行個體 => net stop MSSQLServer
- 指定執行個體 => net start MSSQL$InstanceName
- Step3:進入 sqlcmd 內使用 T-SQL 語法建立 Login 並設定所屬角色
sqlcmd -S Win2008R2\SQL2012 -E參數說明
- -S:指定要連接的 SQL Server instance
- -E:使用信任連接登入 SQL Server,而不用使用者名稱和密碼
Report Service 佔據唯一的一條連線,先停止 Report Service 後就可以登錄啦
登錄 sqlcmd 後輸入 T-SQL 語法建立 Login 並設定該 Login 屬於 sysadmin 伺服器角色
CREATE LOGIN [Win2008R2\Administrator] FROM Windows go ALTER SERVER ROLE sysadmin ADD MEMBER [Win2008R2\Administrator] go* Windows 帳號 [Win2008R2\Administrato] 的前後一定要用括號前後包起來
再重新停止並開啟 SQL Server 就可以正常操作 SQL Server 囉
其他案例
- 安裝時未把 Windows Administrator 加入 SQL Server sysadmin
- 20230710
- 20230713
【程式開發筆記】問題排除 - 無法開啟使用者預設資料庫 (錯誤碼 4062 或 4064) | MS SQL - 大漠國渡 預設資料庫被刪除,導致無法登錄
- 官方參考資料
- 當系統管理員遭到鎖定時連接到 SQL Server
- Database Engine 服務啟動選項
- 以單一使用者模式啟動 SQL Server
- sqlcmd 公用程式、sqlcmd 使用說明主題
- 參考資料
- [SQL Server] 在安裝時未將管理帳戶加入 SQL Server 的補救措施
- 忘記 sa 密碼,也無法使用 Windows 認證的 Administrator 帳戶來登入 SQL Server。
- 單一使用者模式(single-user mode)下,如何連接到 SQL Server
- 如何在使用指令啟動 Microsoft SQL Server 服務時,順便指定啟動的參數
- 如何使用指令關閉或開啟具名的 Microsoft SQL Server 執行個體服務
- Super SQL Server 討論
沒有留言:
張貼留言