2016-10-31 17 views
0

我有兩個數據庫供我的客戶,一個LIVE數據庫和一個TEST數據庫。定期地,我的客戶希望將實時數據複製到TEST數據庫中,以便可以處理當前的數據。在SQL中我可以將一個數據庫複製到另一個數據庫

我正在尋找一種簡單的方法,我可以在我的應用程序中運行一個命令,將所有數據從一個複製到另一個。

目前我必須與他們的IT部門或顧問進行遠程連接,並從LIVE的備份恢復到測試。我寧願在我的應用程序中有一個表示RESTORE TEST的按鈕,它會爲我做到這一點。

關於如何做到這一點的任何建議?在SQL中可能嗎? .NET中是否有工具可以幫助?

感謝

+2

那麼你可以腳本的備份和恢復過程,這將允許你用代碼做到這一點。 –

+0

您可以在SQL Server上使用'BACKUP'和'RESTORE'命令來執行此操作,就像執行其他SQL命令一樣執行。最大的問題是你是否被允許這樣做。我會和他們的IT部門聊一聊,看看他們會怎麼樣。天真愚蠢的解決方案是手動刪除所有表,手動重新創建所有表,並手動複製數據,然後手動添加所有外鍵等。這隻需要訪問操縱數據庫中的表結構,但更多工作得到正確。 –

回答

0

如果你有一個備份計劃,我希望你這樣做,你可以簡單地恢復最新的全名.bak,如果是你的應用程序訪問。但是,這將需要一些隧道來讓應用程序訪問最新的備份文件,而這通常是包含數據庫服務器的區域的禁忌。

也許你可以設置機器間的備份預定交付。 LIVE服務器是否可以訪問您的TEST服務器。我不認爲DBA會傾向於設置備份傳送,除非它具有用於災難恢復的遠程備份位置,並且通常是專用位置而不是測試服務器。也許你可以制定一個場景,讓你的TEST服務器作爲生產環境的額外遠程備份位置。

最好是發送備份,然後定期或手動啓動作業以從本地備份進行恢復。這將承擔您的應用程序的負擔。然後,您只需根據需要從應用程序中簡單地啓動sql作業即可。

相關問題