2010-03-19 150 views
2

對於從ASP.NET應用程序使用的表,視圖和存儲過程,我有許多手動編寫的腳本(.sql)。這些腳本放下對象並重新創建它們。我需要一種在腳本更改而不刪除對象時更新數據庫的方法。例如,當列被添加到其中有行的現有表中時,我需要使用此額外列更新此表而不會丟失行。使用SQL腳本更新SQL Server數據庫

我需要一種方法來「更新」數據庫在一個單一的點擊(我可以掛鉤使用批處理文件的變化)。 Visual Studio是否支持這種功能?

回答

1

如果您獲得Visual Studio Team System - Database Edition 2008--它現在與免費的「Developer Edition」捆綁在一起 - 它可以處理該問題。沒有該版本的Visual Studio數據庫項目實際上只存儲了您想要跟蹤的靜態SQL。 Database Edition能夠確定您的SQL與目標數據庫中的內容之間的'增量',生成該腳本並針對您的數據庫執行。您可以選擇查看生成的SQL,但默認情況下它非常安全[如果它認爲會丟失任何數據,它將不會運行。

+0

我還應該添加 - 與2010版本一起,這包含在「Visual Studio Premium」 – cbkadel 2010-03-19 13:03:14

+0

+1:o)另一個好處是您可以設置開發和部署配置,以確保您的腳本在不影響實時系統的情況下完成您想要的功能。 – 2010-03-19 13:08:05

+0

cbkadel - 你能指點我一個在線資源,深入討論這個問題嗎?我假設你想讓我使用「Schema Compare」工具? marc_s提供的鏈接是一個很好的開始,但不提供詳細信息 – DotnetDude 2010-03-19 22:06:33

0

是的 - 它被稱爲數據庫項目。

您可以定義Visual Studio數據庫項目,在其中創建並更改SQL腳本,然後在需要時針對所選的數據庫連接執行這些腳本。

看到這個blog post here是一個很好的解釋,或者讀了羅拉4個人寫的whole series

相關問題