2008-09-30 86 views
27

我需要將一些記錄從我們的SQLServer 2005測試服務器複製到我們的實時服務器。這是一個平坦的查找表,所以沒有外鍵或其他引用完整性擔心。如何在SQLServer數據庫的兩個實例之間複製數據記錄

我可以在活動服務器上再次鍵入記錄,但這很麻煩。我可以將測試服務器記錄和表數據全部導出到SQL腳本中並運行該腳本,但我不想覆蓋現場系統上的記錄,只添加到它們中。

如何才能選擇我想要的記錄並將它們傳輸到其他服務器?我們沒有Sharepoint,我知道它會讓我在兩個實例之間直接複製它們。

回答

39

如果您的生產SQL服務器和測試SQL服務器可以說話,您可以只使用SQL插入語句。

第一次運行下面的測試服務器上:

Execute sp_addlinkedserver PRODUCTION_SERVER_NAME 

然後,只需創建插入語句:

INSERT INTO [PRODUCTION_SERVER_NAME].DATABASE_NAME.dbo.TABLE_NAME (Names_of_Columns_to_be_inserted) 
SELECT Names_of_Columns_to_be_inserted 
FROM TABLE_NAME 
2

一個SSIS包最適合做轉移,需要幾秒鐘的時間才能完成設置!

+0

將你的情況下,建議我有一百個表我需要複製?備份/恢復是不好的選擇:3天的支持行動,將需要半天時間從其他數據清理。謝謝。 – Stoleg 2015-07-08 17:31:51

+0

您可以在副本中設置多個表格。 SSIS包是可重複的,這很好。 – 2015-07-08 22:49:52

1

我只是腳本到SQL,並運行在另一臺服務器上進行快速和髒傳輸。如果這是你經常要做的事,而且你需要建立一個機制,那麼類似於舊的數據轉換服務(DTS)的SQL Server集成服務(SSIS)就是爲此而設計的。您可以在迷你Visual Studio環境中開發解決方案,並可以爲移動和轉換數據構建非常複雜的解決方案。

11

我使用SQL Server Management Studio並通過右鍵單擊數據庫並轉到任務>導出來執行導出任務。我認爲它適用於服務器和數據庫,但我不確定。

+1

不幸的是,這個功能在SQLServer 2005中不適用於我。 – 2008-09-30 17:17:19

相關問題