demoshop

demo, trying to be the best_

LocalDB 刪除的方式

  • 2015-02-06
  • 10731
  • 0

Visual Studio 2013 版本以後推薦開發者使用 LocalDB 來做為開發時使用的 DB ,LocalDB 好處非常多,網路上已經有許多文章,本篇就不多做描述,本篇要說明的是因為 Visual Studio 2013 的 ASP.NET MVC 範本預設的選項會包含 ASP.NET Identity ,當開發人員使用到範本中的「會員」機制,就會利用 Code First 的方式建立 ASP.NET Identity 相關資料表,而且會掛載到 Local DB 中,每測一次就會掛載一次,時間久了以後看到一堆沒在用的 DB 名稱感覺是很討厭的,使用 SSMS 連上 Local DB 後卻刪除不了這些幽靈資料庫的解決方案。

因為這幾個月 demo 都在準備 SkillTreeASP.NET Identity 實戰訓練營課程,所以會一直新增 ASP.NET MVC 專案,測試完一個功能後就會再開一個新的,而這些測試用的專案都會在測試完畢後刪除(因為都是在 RamDisk 內操作)也因為單純從 Visual Studio 的角度來看,根本不會發現其實 Local DB 被掛載了許多的資料庫,所以一直以來都不太在意,直到有一天有一個功能必須讓我使用 SSMS 連上 Local DB ,連上後驚喊一聲乖乖隆叮咚這一堆資料庫是什麼!

當下當然會覺得,這些已經沒用的資料庫就清光吧,可惜「事情不是像憨人所想的那麼簡單」 SSMS 竟然報錯!

先挑看的懂得錯誤訊息看,「系統找不到指令的路徑」,沒錯!因為專案都砍了本來就沒有那個路徑,找不到很合理(Local DB 的檔案存放在專案的 App_Data 目錄內)難道說我們注定只能和這些幽靈一起生活下去?秉持眼不見為淨的精神當這一切沒發生嗎?

所謂解鈴還需繫鈴人,誰做的誰就要負責,因此改使用 Visual Studio 嘗試,開啟 Visual Studio 的 「SQL Server 物件總管」

切換到「SQL Server 物件總管」後應該就可以直接看到 Local DB ,這時候對已經不需要的資料庫按「滑鼠右鍵」選擇「刪除」

確認刪除

可以看到過程平和的就刪掉了不必要的資料庫,但眼尖的讀者可能會發現,剛剛在 SSMS 看到的資料庫名稱和從 Visual Studio 看到的不太一樣!的確請看一下上面的圖,從 Visual Studio 連上的 Local DB 版本是 12 而從 SSMS 連進去的是連到 11

在 Visual Studio 要增加 SQL Server 連結只需要點選上方圖式即可

連線字串請參考下方圖片

連上後就可以看到熟悉的幽靈們了

請依據上方的步驟將不必要的資料庫刪除,這樣就完工了。

 

最後打個廣告 demo 創立的 SkillTree 開設的 ASP.NET Identity 實戰訓練營課程,正在招生中,新一代的 ASP.NET Identity 設計的非常優良且好用,非常值得 .NET 開發人員一學,建議您參考看看。

回應討論