最近剛好遇到這問題,就順便筆記一下
因為我辦公的電腦是前人留下來的,那他已經有灌 SQL Server 2008 R2 ,不過因為整個作業系統的環境都被 AD 管控,雖然我有電腦的管理員權限,但仍然無法登入
(事後查起來是因為電腦名稱有被改過,另外安裝該 SQL Server 的帳號也不是我正在用的系統管理員帳號,所以無法登入)
不過因為工作因素,不希望資料型態得靠我手動轉來轉去(因 sql express 是2005 版,並無 DATE 及 TIME 兩種資料格式)
就開始了我的 SQL Server 2008 R2 的安裝歷程,不過安到一半時發現他上面寫著該電腦已經有 2008 R2 執行個體,就試著登登看,出現的訊息是權限不足無法登入而不是找不到伺服器,這樣就知道是權限問題而非沒安裝。
因為忘了密碼之類的一定會發生,所以不可能沒有忘了密碼無法登入時的解決方案,去找了一下,還蠻容易就找到資料的
有三種解決方案
第一種是重新安裝 SQL Server,就所謂的3R策略(Reboot, Reformat, Reinstall),但是我並不想浪費時間在等待重灌上。
第二種是找到舊有你記得密碼的 master 資料庫,把他蓋過去,但是該資料庫是在我到職前就灌的,理所當然我也不知道原始的 sa 密碼。更別提有記得密碼版本的 master 備份了。
第三種則是讓 SQL Server 進入 single-user mode,即可以透過任意的「本機管理員」帳戶登入資料庫!
在這我就選用了第三種方法:
1. 先開啟 SQL Server 組態管理員
2. 點選 SQL Server 服務,在右邊找到你要設定的 SQL Server 服務執行個體,按右鍵,選內容
3. 點進階,在啟動參數前面加上「-m;」,然後再重新啟動服務,即可進入 Single-User Mode 了
此時要注意的是 SQL Server Agent 的服務要停止,否則你的唯一的連線就會被他給佔走了。
最後再開啟 SQL Server Management Studio ,登入後展開「安全性」資料夾,再展開「登入」,按右鍵選「新增登入」,再登入名稱中填入目前的帳戶,並在「伺服器角色」中選取「sysadmin」後,該帳號就擁有 dba 的權限了。
當設定完成後記得把 single-user mode 取消,取洗的方法為把「啟動參數」中的「-m;」移除後再重啟服務即可。
留言列表