LocalDB 是許多開發人員很喜歡的一個功能,但 SQL Server 2019 的 LocalDB 安裝起來卻可能會遇到問題....
雖然 SQL Server 從很久之前就有提供 SQL Server LocalDB 的功能,一個比 SQL Server Express 還要 Lite 的資料庫引擎,雖然不少開發人員很喜歡,但我個人還是會比較喜歡在開發環境用 SQL Server Express 來使用,可以避開一些使用上的問題,因此對於 SQL LocalDB 也就沒有特別去關注。
這幾天剛好看到保哥有詢問一個 LocalDB 上面還原 BACPAC 的問題,一時興起想說來測試看看到底甚麼狀況會造成這樣的原因,因此就想說弄個乾淨的環境把 SQL Server 2019 LocalDB 給安裝起來測試看看,但這個簡單任務卻讓我吃鱉好久。
首先我先預備一個乾淨的 Windows 10 的環境,當我下載回來 LocalDB 的安裝程式之後,就沒有想甚麼,就直接進行安裝....
但就要安裝完成之時,卻顯示出下面這個錯誤....
基本上我是用 Administrators 群組的帳號去安裝,也有試過提升權限來安裝,甚至也手動去服務裡面,調整啟動該服務的帳號,都還是沒有辦法順利啟動 SQL Server VSS Writer,因此我覺得問題應該不是權限的問題。
因為不知道問題會是甚麼,我又分別用不同的 SQL Server 2019 Developer 版本的 ISO 來進行安裝,安裝的時候就只選安裝 SQL LocalDB,發現還是一樣的錯誤,因此我覺得可能是遺漏了什麼東西沒有安裝。因此只好狠土法煉鋼的方式,找到有一台電腦上因為已經安裝 Visual Studio ,有順利安裝好 SQL LocalDB ,因此就一個一個比較看看,除了 Visual Studio 之外還有沒有甚麼東西有影響,在費了九牛一虎之力之後,總算找到了兇手「Microsoft Visual C++ Redistributable 」。正常來說 SQL Server 在安裝的時候,應該要把那個給先進行安裝,不知道為什麼到了 SQL Server 2019,居然沒有安裝上去,才會導致 SQLWriter 是無法啟動的。
知道原因之後,那問題就簡單多了,只要到 微軟的 Support 網站 上面,選擇下載 x64 的 Visual C++ 可轉散發套件,先將這個安裝好之後,再來安裝 SQL Server 2019 LocalDB,就沒有這樣的問題了。
因此就可以透過 sqllocaldb 的命令來查看,就可以看到 2019 版本的 LocalDB 已經順利安裝好了。
只是這真的是一個低級錯誤,我想在未來版本的 LocalDB 應該會解決這個問題,但在還沒有出新的安裝程式之前,那要使用的朋友就可能要注意一下了。