簡體   English   中英

將一部分數據從遠程數據庫復制到本地 SQL 服務器

[英]Copy a subset of data from remote database to local SQL Server

我有一個遠程數據庫,我想將它復制到我的本地 SQL 服務器上。

重要提示:我只想要每個表中的樣本數據(例如 1k 行),並且大約有 130 個不同的表。

我曾嘗試在 SSMS 中使用導出數據過程。 簡而言之,我 go 到任務>導出數據>選擇源(遠程數據庫)>選擇目標(我的本地數據庫)>選擇要復制的表>復制

我試過的:

我試圖在這個工具中寫下 SQL 查詢,如

SELECT TOP 1000 * 
FROM TABLE1 GO ... 

SELECT TOP 1000 * 
FROM TABLE130

但在映射步驟中,它將每個結果放在一個表中,而不是創建 130 個不同的 output 表。

僅供參考,上述過程需要 2 分鍾一張桌子。 為每張桌子一張一張地做需要 130 * 2 分鍾 = 4 小時半……而且太無聊了

您有解決這種情況的想法嗎?

謝謝問候

如果您只想要一個子集,那么您將遇到外鍵問題,如果您的數據庫中有外鍵的話。

提取所有數據或子集的可能方法

  • 使用SSIS從源數據庫中提取數據並加載到本地數據庫中
  • 編寫一個完成這項工作的自定義應用程序。 (可以使用SQL 批量復制

如果您純粹不想在 SSMS 中執行此操作,您可以在本地服務器上創建一個鏈接服務器到遠程服務器。

這樣,如果表或尚未在本地服務器上創建,您可以執行以下操作:

SELECT TOP 1000 *
INSERT INTO [dbo].Table1
FROM [yourLinkedServer].[dbo].[Table1]

更改要復制的每個表的 INTO 表和 FROM 表。

暫無
暫無

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

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