這幾天在講SQL Server 2008的課程,今天頭一天,因為主辦方准備的環境是用做好的同一個虛擬機,然後分發到很多台實驗用的機器後,用sysprepare這種工具,修改了電 腦名稱。一早就遇到大家無法登錄到SQL Server的問題,不管是用本地管理員,還是SA帳號。
1.首先從Windows身份驗證方式登錄
2.右鍵點擊“服務器”,選擇“屬性”
3.在左側找到“安全性”,裡面有個Windows身份登錄,還有一個“SQL Server和Windows身份驗證”,選擇第二個。
4.重啟SQLSERVER服務。(還是右鍵點擊“服務器”,就是根節點,選擇重啟服務器
我分析下來,本地管理員無法登錄的原因就是因為電腦名稱修改了之後,現在的本地管理員的SID已經不是修改之前那個本地管理員的SID了,而SQL Server裡面其實保存的是SID,並不是用戶名稱,所以導致他無法登錄服務器。而至於用SA帳號無法登錄,是因為主辦方在准備這個環境的時候,並沒有 啟用混合驗證模式。
大致的步驟就是:
用本地管理員登錄,停止SQL Server服務
修改SQL Server服務的啟動參數,在原先的啟動參數後面添加 “;-m”(不要帶雙引號),這是將SQL Server設置進入單用戶模式
啟動SQL Server服務,使用sqlcmd登錄到SQL Server服務器
執行exec sp_addsvrrolemember ‘MachineNameAdministrator’ ‘sysadmin’;GO;(請注意,紅色部分要替換為你的本地管理員帳號)
停止SQL Server服務,將原先添加的啟動參數“;-m”刪除掉
啟動SQL Server服務
建議大家安裝SQL Server的時候,還是設置混合驗證模式和SA密碼,然後要保護好這個密碼。