2011-07-13 18 views
2

有沒有一種方法來備份/曲目更改SQL在SVN或跟蹤更改SQL任何其他方法的存儲過程?我正在使用SQL 2008,而不是DBA,但負責一個小公司數據庫。存儲在svn中的SQL存儲過程?

TIA,

布賴恩·恩德勒

+0

存儲過程只是文本。爲什麼你會擔心無法在SVN中跟蹤它? –

回答

1

您可以將其存儲在SVN,但將難以跟蹤確切的變化,如果你的團隊成員使用不同的工具來編寫SQL:在PostgreSQL顯得特別在格式化SQL不好。你可以考慮使用自由格式:埃迪·阿瓦德列出了一些在這裏:

http://awads.net/wp/2005/12/12/format-your-sql-the-easy-way/

提交你的代碼,源代碼控制取決於你如何安排你的項目:腳本可以在「雜項」文件夾中存在的日食/ visual studio項目,或直接通過TortoiseSVN提交給svn。

+0

如何讓SVN和/或SQL跟蹤這些更改?我是唯一一個進行變更的人(至少現在是這樣),但仍然希望看到我何時/爲什麼要進行變更。這些更改通常伴隨着軟件更改,因此檢查SP更改以及代碼更改會很好。 – BrianKE

+0

是的,將SProc創建腳本添加到源控制系統。您可以簡單地將其添加爲另一個文本文件。 –

+0

那麼你是否說我必須將文件作爲文本文件存儲到硬盤中? – BrianKE

0

我給你兩個建議(我已經都用自己):

  1. 可以以數據庫模式解壓到文件系統,然後將其提交到SVN使用ScriptDB。我實際上設置了一個計劃任務,每天晚上調用ScriptDB,然後自動將該文件夾提交給svn(它僅提交實際修改的文件)。

  2. 如果你正在使用VS2010,你可以打開一個數據庫項目,並通過該模式的數據庫定期同步進行比較,從數據菜單選項。之後,您可以通過tortoiseSVN或Ankh直接從VS提交更改。

2

我們編寫過程並將它們作爲腳本保存在Subversion中。您檢查腳本的每個版本,然後您可以輕鬆查看previos版本或在它們之間做差異。如果youwant從格式減少不必要的diff,得到一個SQL格式化工具,讓所有人在檢查之前格式化的方式相同。

所有的SQL代碼應該這樣處理不只是特效。我們在Subversion中存儲表格結構,視圖等。當然,對於表格,您需要創建腳本,然後爲每個更改順序更改表格腳本,以便您不會通過執行拖放操作來重新清除現有數據中的表格。我們還編寫插入查找表的腳本,以使它們更容易移植到其他服務器。