簡體   English   中英

如何更新SQL Server數據庫架構?

[英]How can I update my SQL Server database schema?

通常在項目開發過程中我會經常部署,以確保我不會在生產中遇到任何問題。

此外,在整個開發過程中,我發現自己正在改變數據庫的模式。

如何在生產中輕松更新數據庫?

我一直在刪除舊數據庫並重新連接新數據庫。 是否有更快的方式來更新部署數據庫?

謝謝

編輯

有什么免費工具嗎?

維護應用於dev數據庫的所有更改腳本的列表,並在部署時將它們應用於Production數據庫。

或者,使用可以比較兩個模式的第三方工具,並提供可以隨后運行的更改腳本。

我嘗試使用像RedGate SQL Compare這樣的工具,它會顯示兩個版本之間的“差異”,並實際編寫不同的組件。 您還可以習慣編寫所有數據庫修訂的腳本,以便對已經進行的更改進行審計跟蹤,並在准備部署時以編程方式應用它們。

最好的辦法是將更改作為一組diff腳本實現。 因此,不是刪除表並重新創建它,而是將腳本作為ALTER TABLE。

還有一些工具可以幫助你做到這一點。 如果保留原始數據庫和新數據庫的副本,則可以針對這兩個數據庫運行一個工具,該工具將生成將從一個版本帶到另一個版本的SQL。

我個人希望每當我更改特定版本的架構時,都會更新完整的創建腳本以及維護升級腳本。 我使用過Red Gate SQL Compare,它是一個非常好的工具,但更喜歡保持腳本。

始終編​​寫腳本以更改架構。 將腳本放在促銷文件夾中,以便在提升更改時執行腳本以更改每個環境。

試試DBSourceTools。
http://dbsourcetools.codeplex.com
它的開源,並將腳本整個數據庫
- 表,視圖,過程和數據到磁盤,然后允許您通過部署目標重新創建該數據庫。
它專門用於幫助開發人員在源代碼控制下獲取數據庫。

Generate Scripts向導完全符合我的需要。

Migrator Dot Net是一個用於版本化數據庫的強大工具。 在使用遷移后,很難回到手動跟蹤腳本和進行數據庫比較。

Visual Studio數據庫版非常擅長這一點 它使源代碼腳本中的整個架構與其余代碼一起保持在源代碼管理中。 當您進行更改時,它可以分析您的架構的依賴關系。 它可以運行最佳實踐分析。 它可以生成.dbschema文件,部署工具可以使用該文件將數據庫升級到當前架構。

實際上,您可以通過continuos集成自動執行此操作,並直接構建測試環境,暫存環境甚至生產環境。 這意味着當您簽入測試分支時,構建機器將構建產品,運行構建驗證測試並將其部署在開發服務器上。 當您從測試分支反向集成到主分支時,構建機器構建產品,運行BVT並在您的分段測試/接受服務器上部署。 當您集成到發布分支時,構建計算機將構建,測試並最終部署在生產中。 現在確實如此,沒有多少組織准備好走這么遠,讓連續構建過程在現場生產服務器上自動部署,我認為這是一種激進的想法。 但我說你應該比任何手動測試和部署更信任你的自動化BVT和自動化流程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM