将大型SQL Server表从一个数据库移动到另一个数据库的最佳方法?

时间:2019-06-12 06:23:40

标签: sql-server ssis etl

在测试级别的数据库中,我有一个表,其中包含约500万行和超过400列。

我想将此表的副本临时保存在生产数据库中。

我知道我可以使用Tasks并生成脚本,并且可以选择为架构项和数据编写脚本。这似乎需要很长时间。

我可以使用“任务并生成脚本”选项来复制表定义并通过另一种方法处理数据复制。

我可以使用插入...在带有SQL服务器的多个服务器之间选择..吗?

我可以将测试数据库和服务器添加为链接服务器。

我可以使用SSIS。

我只是向一般论坛提出建议,这是最好(或更好)方法的建议。这比“生成脚本”选项

我正在尝试“生成脚本”选项,但这已在整个下午运行。

我希望这种方法能在一两个小时之内完成。

3 个答案:

答案 0 :(得分:3)

一个选项是右键单击数据库,然后选择任务->导出数据。

但是,如果您了解SSIS,我认为这是最简单的方法,因为移动数据正是它的初衷。您可以在那里增加批量大小,以更适合您的数据量。

要花多长时间,这实际上取决于您的硬件。最大的瓶颈很可能是您的网络和磁盘。

答案 1 :(得分:2)

如果您使用的是SQL Server,则倾向于使用“导入导出向导”作为快速简便的方法。如果有问题,它将正常掉落。

1)在目标数据库中创建表

2)右键单击目标数据库,然后单击“任务”->“导入数据”

3)出现提示时连接到源服务器,然后继续遵循提示

希望有帮助

答案 2 :(得分:1)

在类似情况下,我将使用SSIS,因为它可以使您更好地控制传输操作。有许多技巧和窍门可以用来实现更高的性能,例如以块的形式导入数据,配置缓冲区大小,使用批量插入...

我已经发布了许多SSIS相关的答案,您可以参考这些答案以获得更多信息: