将数据子集从远程数据库复制到本地sql server

628mspwn  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(311)

我想在本地sql server上复制一个远程数据库。
要点:我只需要每个表中的一个示例数据(例如1k行),并且有大约130个不同的表。
我尝试在ssms中使用导出数据过程。简单地说,我进入任务>导出数据>选择源(远程数据库)>选择目标(我的本地数据库)>选择要复制的表>复制
我尝试过:
我试着在这个工具中写下sql查询

SELECT TOP 1000 * 
FROM TABLE1 GO ... 

SELECT TOP 1000 * 
FROM TABLE130

但是在Map步骤中,它将每个结果放在一个表中,而不是创建130个不同的输出表。
仅供参考,上述程序需要2分钟一张table。一张table一张table做,需要130*2min=4个半小时。。。再加上太无聊了
你有办法解决这个问题吗?
谢谢问候

1mrurvl1

1mrurvl11#

如果您只需要一个子集,那么如果数据库中有外键,您将遇到外键问题。
提取所有数据或子集的可能方法
使用ssis从源数据库中提取数据并加载到本地数据库中
编写执行此任务的自定义应用程序(可以使用sql批量复制)
如果您不想在ssms中这样做,您可以在本地服务器上创建一个链接到远程服务器的服务器。
这样,如果本地服务器上的表或表尚未创建,则可以执行以下操作:

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

为每个要复制的表更改into表和from表。

相关问题