2012-03-16 48 views
3

爲了在開發和測試過程中允許更真實的條件,我們希望自動化一個流程,將我們的SQL Server 2008數據庫從生產複製到開發人員工作站。因爲這些數據庫的大小從幾GB到1-2 TB不等,它將會永遠耗盡,並且不適合某些機器(我正在與您交談,SSD)。我希望能夠按下按鈕或運行可克隆數據庫的腳本 - 結構和數據 - 除之外的能夠在數據複製期間指定WHERE子句以減小數據庫的大小。如何複製整個SQL Server 2008數據庫,應用WHERE子句來限制複製的數據

我發現了幾個部分解決方案,但沒有任何能夠複製模式對象和自定義的受限數據,而不需要大量的手工勞動來確保以正確的順序複製對象/數據以滿足依賴性,FK約束等。我完全希望手動爲每個表編寫WHERE子句,但希望其餘部分可以自動執行,以便我們可以輕鬆,快速,頻繁地使用它。如果在添加新數據庫對象時自動提取新的數據庫對象,則爲獎勵點。

任何幫助,非常感謝。

回答

1

帶有表條件的快照複製。這樣你就可以在需要時複製模式和數據。

這個article描述瞭如何創建合併複製,但是當您選擇快照複製時,步驟是相同的​​。最有趣的部分是步驟8:過濾表格行。當然,因爲有了這個,你可以過濾出所有不必要的數據來獲得複製。但是這個步驟需要爲每個實體完成,如果你有幾百個這樣的實體,那麼你最好分析一下如何以編程的方式來完成,而不是通過嚮導窗口。

+1

謝謝。根據你的建議,我正在閱讀本文並設置測試複製。我正在研究的另一個內部建議是使用RedGate Virtual Restore快速安裝前一晚的備份,然後使用SQL Compare和SQL Data Compare(我們已經擁有這兩個文件)來保存將所有架構和過濾數據複製到我們可以將一個新的數據庫複製到開發人員工作站。 – 2012-03-19 18:50:42

+0

@JoelP。得趕快RedGate虛擬還原哈哈 – 2012-03-19 18:53:52

+0

鏈接不工作 – juanmah 2015-08-28 12:42:32

相關問題