将一部分数据从远程数据库复制到本地 SQL 服务器

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

我有一个远程数据库,我想将其复制到我的本地 SQL 服务器上。

重要提示: 我只想要每个 table 的示例数据(例如 1k 行),大约有 130 个不同的 table。

我试过在 SSMS 中使用导出数据程序。简而言之,我转到任务>导出数据>选择源(远程数据库)>选择目标(我的本地数据库)>选择要复制的表>复制

我试过的:

我试着在这个工具中写下 SQL 查询,例如

SELECT TOP 1000 * 
FROM TABLE1 GO ... 

SELECT TOP 1000 * 
FROM TABLE130

但是在映射步骤中,它将每个结果放在一个 table 中,而不是创建 130 个不同的输出 tables。

仅供参考,上述过程一个 table 需要 2 分钟。一个一个做一个table要130 *2min = 4个半小时...而且很无聊

你有解决这个问题的办法吗?

谢谢 问候

如果你只想要一个子集,你就会遇到外键问题,如果你的数据库中有的话。

提取所有数据或部分数据的可能方法

  • 使用SSIS从源数据库中提取数据并加载到本地数据库
  • 编写一个自定义应用程序来完成这项工作。 (您可以使用 SQL Bulk Copy

如果您不想在 SSMS 中这样做,您可以在本地服务器上创建一个 linked server 到远程服务器。

如果 table 尚未在您的本地服务器上创建,您可以通过这种方式执行类似的操作:

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

正在为您要复制的每个 table 更改 INTO table 和 FROM table。