[MSSQL] 重建密碼一樣的帳號

因為SQL Server 2005即將結束服務(EOS),所以公司內有一些比較重要的系統就有考慮要進行升級或移轉服務,

User也希望經過測試再進行正式的服務移轉,因此通常會另外安裝新機,而不會原機升級,

在資料庫中可能有不少的系統帳號需要移轉,就可以透過以下方法來進行…

要還原帳號,不外乎是還原原先的權限以及建立一樣的密碼,

通常帳號在幫User建立,密碼交出去之後應該也忘光了(有建立密碼原則的例外),

如果帳號不多,花點時間一個一個跟User要也是一種方法,但如果數量超過5個,我想一般人也懶得問了,

當然如果一切能透過Script完成是最好的,但想也知道,密碼怎麼可能用明碼的方式存在呢…

 

透過以下的語法可以查到目前這個資料庫中以哪些帳號以及密碼,

從查到的資訊來看,還真的是亂碼…

如果把帳號用script匯出,密碼的欄位一樣是看不懂的,

當然,這個語法還是可以拿來建帳號,但使用記得的密碼拿來登入,會取得密碼錯誤的訊息,

怎麼辦呢??

 

查看MSDN中CREATE LOGIN的語法,有一個option叫HASHED,表示我們可以透過HASH過的密碼來建立帳號,

透過底下的語法,我們可以取得被加密的字串,

就可以改用以下的語法把帳號建回去了,

接著透過匯出的權限語法或是sp_change_users_logi這個procedure,一一把權限建立或連結回去就好。

via@喵語天空