2011-01-26 88 views
0

爲了部署我的應用程序,我想將db schema和內容從我的devel maschine複製到生產服務器。更好的是,我希望能夠通過將生產數據庫完全重置爲開發機器的精確副本,將devel db中的更改定期傳達給生產數據庫。複製完成SQL Server 2008 db

使用mysql可以很容易地將prod數據庫轉儲到文件並將轉儲加載到目標數據庫中。不幸的是,我無法在我的SQL Server(Express)上找到類似的功能。我一直在尋找的導入/導出函數只涉及模式,而不涉及數據,或者他們當時在一張表上工作,這意味着他們不會複製表之間的關係。

複製一個完整的數據庫看起來像是一個普遍的問題,所以我希望有一個解決方案。有什麼建議?

乾杯, 達菲

+0

生產DB是隻讀的嗎?它從不累積不在開發數據庫中的數據? – 2011-01-26 10:17:39

回答

2

對於在sql server中複製數據庫的簡單方法,您需要進行備份和恢復。

3個步驟:

1)步驟如何備份數據庫http://msdn.microsoft.com/en-us/library/ms187510.aspx

2)在目標服務器上創建一個新的數據庫。

3.)恢復數據庫。右鍵單擊新創建的數據庫並按照以下步驟操作... http://msdn.microsoft.com/en-us/library/ms177429.aspx

而你已經完成!

如果你想有一個實時同步,你可能會想嘗試複製... :)

嘗試讀取複製的這個完整的文檔。檢查了這一點,這將肯定會幫你:)

http://technet.microsoft.com/en-us/library/ms151198.aspx

0

有多種選擇。

  1. 分離開發機上的數據庫,將數據庫文件複製到prod然後附加數據庫。
  2. 對dev db進行完整備份並恢復prod上的備份。
  3. 使用Microsoft SQL Server Management Studio中的「複製數據庫」嚮導。
2

生成腳本: 右鍵dev的分貝 任務 - 生成腳本 下一個(如果歡迎屏幕) 確保正確的數據庫選擇並點擊scheckbox旁邊的「腳本的所有對象的詮釋,他選擇數據庫」 根據需要更改任何選項(即設置腳本數據選項設置爲true) 單擊下一步 單擊下一步 單擊Finish 單擊關閉 複製和粘貼在TA生成的腳本rget服務器(您可能需要刪除並重新創建目標服務器上的db)

另一種選擇是購買Redgate(或任何similer工具)的SQL Compare和SQL Data比較。它會告訴你什麼是不同的,並允許你生成腳本來更新已更改的內容。