因為要作 SQL Server 的 Downgrade, 所以有了這個需求,原先建立的一些帳號都已經不記得了,但是使用這些 Login 帳號的程式還是繼續在使用中,在 Downgrade 之後也必需要保留這些帳號才行。

微軟的 KB 裡面有這麼一篇: http://support.microsoft.com/kb/918992/ 剛好可以用到,不過後來實作的時候發現我的是 SQL 2000 而不是 2005 or 2008 的版本,所以這篇的 Procedure 還要稍微改一下,搭配上這一篇:

就能夠在 SQL 2000 上面使用了,一樣是跑這個 Stored Procedure, 然後會給出建立 Login 的 Script, 不過不會包含 sa 帳號就是了,所以一定要有 sa 的密碼才行,不然就得改使用了 sa 帳號的所有程式了。另外,記得不要先建立其他的帳號,先跑完 Script 建立,否則 SID 可能會一樣,那就會導致建立不成功了。

Backup DB, Deattach DB, Uninstall Enterprise edition, Install Standard edition, Attach DB, Create Login Account 這樣下來也花了不少的時間,所以停機時間不會太短,下次有類似需求要注意評估機器下線的時間。

這一次的教訓是:

  • 安裝最小的適用版本,不要什麼 OS 都是 Enterprise Edition, 什麼 Service 都要最高版本,一些功能用不到的,就直接用標準版就好了,否則要符合 License Audit, 還是有一堆的工作要作。
  • 如果可以用 Linux + mySQL 就不要 Windows 2003 + SQL Server, 因為價格真的差很多的,這一次做了幾台 Downgrade, 大概省下 NTD$ 五百多萬的 License Fee。
  • 不要使用 sa 或 root 帳號作為系統軟體連接資料庫 設定,務必另外開帳號使用。
最後修改日期: 2019-12-04

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。