2010-08-04 30 views
1

我正試圖在通過時將這一個頭部關閉。我有兩臺數據庫服務器(DEV和PRD),我在DEV服務器上有我的數據庫。我期待將我的應用程序的v1部署到PRD服務器。將模式更改從開發數據庫移動到生產數據庫的腳本

問題是這樣的:在兩個月內說,我準備發佈我的應用程序的v1.1,它引入了兩個新的VIEWS,六個新的字段(兩個表中的三個字段)和一個更新版本的我的sproc用新字段在表格中創建記錄。我的DEV數據庫有新的模式,但我的PRD數據庫有真實的數據,所以我不能簡單地複製.mdf文件,因爲我想保留我的PRD數據,但包括我的新模式。

我知道通過保存的.sql文件初始創建表,視圖,sprocs;但我想知道的是,是否可以使用SSMS創建appripriate「alter table」腳本,還是需要手動執行此操作?

回答

1

我已經使用發佈更新SQL腳本來處理此問題,該腳本將更改應用於以前的版本。

您需要自己編寫代碼或使用衆多DBA工具之一來執行數據庫比較並生成diff腳本。

1

有一些工具,會爲你SQL Compare做,這是其中之一,也是我最喜歡的

否則,您必須對這些自己的代碼,如果你重新創建PROC不要忘了還腳本的權限(除非在這種情況下使用ALTER PROC來保留權限)

+0

什麼是類似這樣的工具?如果可能,我想找一個開源的。 – Nate 2010-08-04 18:24:14

1

由於您的數據庫更改應該位於源代碼管理的腳本中,因此您只需將它們加載到要與該版本關聯的任何其他代碼即將推出的版本中即可。任何情況下你從來沒有做過的一件事是使用用戶界面對dev(或任何其他)數據庫進行更改。

0

嘗試使用DBSourceTools中的修補引擎。
http://dbsourcetools.codeplex.com
DBSourceTools是一款實用程序,可幫助開發人員將其數據庫置於源代碼控制之下。
只需將它指向源數據庫,它將腳本化所有數據庫對象,將數據包含到磁盤。
一旦你有了一個目標數據庫(v1),你就可以將你的補丁腳本放到補丁目錄中,並且在重新創建你的數據庫後,DBSourceTools將按順序運行這些補丁。
這是徹底測試您的更改腳本的非常有效的方法。

相關問題