簡體   English   中英

在SQL Server 2008 R2中傳輸數據

[英]Transfer data in SQL Server 2008 R2

我在單獨的服務器(開發服務器和生產服務器)上有兩個數據庫,我需要將數據從開發人員表轉移到多個表中的生產服務器,而又不影響生產服務器上已有的數據。 知道SQL Manager是否支持類似的內容,還是我必須為此編寫腳本?

我的情況詳細:

我有一個工具可以讓我為公司創建調查。 該工具位於開發人員和生產環境中。 由於我不想在生產數據庫中添加測試數據,因此我正在使用該工具的開發版本來創建調查並在本地進行測試。 該工具與我數據庫中的幾個表相關,例如調查,問題,答案,結果等。

我當前的設置:完成調查並准備好啟動時,我必須使用該工具的生產版本來手動重做我在生產中所做的所有先前工作。 這一點都不理想,不僅因為我要花時間做,而且還要冒着在手動復印過程中出錯的風險。

我需要做的是:上面提到的那些表已經具有生產數據,可供我公司使用。 創建新調查時,我只需要將新調查的特定記錄(從所有表中)轉移到開發人員到生產環境,而不會影響到我以前的工作。

使用Import and Export Data

或將DEV服務器添加為PROD服務器中的鏈接服務器,然后使用INSERT / SELECT語句

您可以使用數據庫比較工具,對於SQL Server,我可以使用SQL Delta,它允許您自動創建一個腳本以在希望的數據庫中運行, http://www.sqldelta.com/

你不會找到任何這出的現成的解決方案,但也有工具,可以幫助一旦你得到了你想要完成的一個清晰的思路- 詳細 在這一點上花一點時間來確保您對所要發生的事情非常清楚,這將在您投產時帶來巨大的好處。

您正在描述的場景聽起來像您的數據庫中有一些配置類型的數據以及事務或域數據一樣。 換句話說,您需要將更改從開發環境升級到生產環境,以使應用程序正常運行。 這並不罕見,但在針對此類情況制定促銷計划時,您必須非常謹慎並且非常謹慎-畢竟,您不想將測試數據與您的配置更改。 因此,至關重要的是,確定要從開發人員推送到產品的表,並確保這些表是您向該方向推送的唯一表。

您還提到了“不影響生產中現有數據”的內容。 您能告訴我們更多有關此的信息嗎(也許是一個例子)? 通常,您希望保留特定的表(按照約定)以僅將更改移到一個方向上-即從dev到prod。 如果您的表需要包含合並的更改,那么您將不得不更加注意正確地執行此操作,因為您需要處理合並錯誤-當您有數據要推送和處理時會發生什么例如,它已經存在於目標數據庫中?

一旦確定了實際要移動的計划,其他答案中提到的某些工具可能會起作用,或者查看Redgate的工具(例如SQL Data Compare )-它們會提供一些非常好的產品來幫助DB管理任務。

----附錄----

根據對問題的編輯,這里還有一些其他想法:

(1)使生產調查具有“禁用”或“測試”模式,因此您不必在其他環境中進行數據更改。 這樣,僅當實際開發更改存在時,您才可以將內容從開發人員轉移到生產人員。

(2)定義一種“包裝”機制,以將調查從一種環境轉移到另一種環境。 這將使您能夠一般可靠地處理合並沖突,ID更改等。 另外,您還可以將生產調查移回開發人員進行調試和測試。

暫無
暫無

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

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