2010-10-19 69 views
2

我通常在Visual Studio中創建解決方案文件夾,並將其中的數據庫腳本放入其中。我總是至少使用這套腳本:在您的解決方案中管理數據庫腳本

  1. 液滴模型
  2. 創建模型腳本
  3. 用戶功能
  4. 存儲過程
  5. 靜態數據(查找表)
  6. 測試數據(不部署)

然後,我簡單地將它們組合起來並運行在SQL Server上我可以在一個步驟中重新創建整個數據庫(將這些腳本合併爲一個並執行它)。

無論如何。我從來沒有在任何使用項目:

  • Visual Studio或
  • SQL Management Studio中

我試圖在Visual Studio 2010中創建SQL Server 2008數據庫項目,但我m以某種方式被所有可能的服務器設置淹沒(我寧願保持默認設置在服務器上)。所以我有點困惑:我應該使用這個項目模板還是應該做同樣的事情?

你使用什麼,爲什麼?我可以從中受益的優點是什麼?

回答

4

如果我是你,我會繼續按照你這樣做的方式去做。其實我是這麼做的!在我看來,使用/編輯/查看文件夾中的實際.sql文件的優點要遠遠優於使用DB項目獲得的優勢。如果你正在做一些類似於存儲報告的數據庫項目,你是否需要像8個數據庫進行通信,然後與8個不同的數據庫進行比較,然後保存結果集等等......現在不要誤會有數據庫的優點項目,我不認爲他們實際上幫助很大,當你有這樣一個簡單的設置已經工作。

Advantages of the SQL Server 2008 Database Project in VS10

  • 不必從您使用 您的當前客戶端來回切換 與SQL服務器通信。
  • 體面數據和架構比較工具。
  • 爲您提供一鍵式方式將 工程師數據庫轉換爲源 控件,並使其保持最新狀態。
  • 您可以將項目與物理 數據庫進行比較,反之亦然。 (這使得保持數據庫更新變得非常容易,無論您在哪裏更改它:文件系統數據庫項目或物理數據庫本身)
  • 如果您使用的當前工具不是專門爲SQL Server量身定製的,這是一個。
  • 如果您需要直接在數據庫 上執行 單元測試,而不使用抽象,則極其有用。
+0

我在設計中缺乏的一件事是robustnes。 DROP腳本有時不能刪除數據庫,因此整個腳本包失敗。我猜這些** SQL Server項目**更健壯,並且能夠**部署**和**重新部署**以及沒有問題。我注意到的另外一件事是我使用這些項目類型進行代碼分析可能會有所幫助。也許......並且僅供參考:實際上,我並沒有就這個數據庫項目進行任何報告......所以你也許是對的。 – 2010-10-19 17:36:12

+0

我想我想說的是,如果你只需要數據庫的工作,而不是你的應用程序的核心,我會堅持你在做什麼。如果數據庫在您的應用程序中扮演着重要的角色,那麼學習數據庫項目將是值得的。不要誤解我的意思SQL Server項目有很多優點,我想這個問題值得爲你的項目付出。 – 2010-10-19 18:21:50

+0

這是很好的雅各布。您能否提供使用項目模板的一些優點(在您的答案中),這樣我就不必自己搜索/檢查/測試它們,並且可能會錯過一些以及花費太多時間來做這些事情?無論如何,我會+1你的答案,因爲你已經提供了有價值的信息。 – 2010-10-19 18:47:56

0

如果您正在尋找一些不那麼複雜的東西,您可以嘗試SQL Source Control。這甚至不需要你維護腳本,因爲它不適合你在幕後。但是,如果您使用TFS或SVN,它將僅作爲解決方案。它的價格爲295美元...

它有一個28天的試用期,所以如果你樂於嘗試它,我會對你的反饋感興趣。

+0

您認爲我認爲哪種方法複雜?我現在使用的那個很簡單,項目模板也需要編寫腳本。該工具可讓您在SQL Server Management Studio中執行數據庫設計,該工具僅爲您創建並存儲腳本。這只是意味着,你必須使用第二個數據庫工具。在我的情況下,我可以在VS. – 2010-10-20 06:54:49

+0

對不起 - 我有點不清楚。我指的是視覺工作室項目的複雜性,通常是針對您對不堪重負的評論作出的迴應。你能否在VS中使用你的方法論很好,我猜這對你很重要? SQL源代碼管理的一個優勢是它能夠從腳本文件夾同步到目標數據庫。 VS集成是我們在SQL源代碼控制路線圖上的東西,但直到明年纔有。我們所說的大多數用戶在SSMS中花費大部分數據庫開發時間。 – 2010-10-20 16:03:34