Sql-Server

MSSQL 替換 Live Web App 中的數據庫

  • March 21, 2010

我有一個目前正在執行的網路應用程序。我需要對數據庫進行重大修改,現在我需要替換目前的數據庫。

我的開發 SQL 實例不是實時的。我通常只是對新數據庫進行備份,將舊數據庫吹走並恢復我更新的數據庫。但現在我有了需要保存的數據。

大多數目前表都已更改,因為添加了額外的列,所有現有列仍然存在且未更改。

我可以訪問 Management Studio。

這樣做的正確方法是什麼?

執行此操作的“正確方法”是將開發期間對數據庫的任何更改都視為臨時更改,並編譯數據庫建構腳本列表,以便您可以在生產數據庫上重建新模式。您所做的任何更改都應儲存在與數據庫版本(1.0、1.1、1.2…)相關聯的 SQL 升級腳本中,或者更好的是與您的軟體程式碼一起放入原始碼儲存庫以進行版本控制。當您想要更新生產數據庫時,您將執行更新腳本序列以將數據庫升級到最新版本。

您有時可以在 Management Studio 中處理您的開發數據庫後生成更改腳本,方法是右鍵點擊表或儲存過程並選擇“腳本至”。這將生成可用於建構更新腳本的 alter 或 create 語句。完成所有更新腳本後,將生產數據庫複製到開發箱並測試升級以確保一切正常。然後,當您準備好更新實時系統時,創建備份,然後在生產伺服器上執行腳本。

另一種方法是使用正確的架構生成一個空白數據庫,然後將所有數據複製到空白數據庫中。對於復雜的模式,這通常很難做到,並且該過程可能需要大量停機時間,而使用更新腳本通常可以在最短的停機時間內完成。

有關詳細資訊,請參閱有關管理數據庫版本和升級的問題。

引用自:https://serverfault.com/questions/122146