将单个大型(30,000行)表从一个数据库复制到另一个数据库的最快方法?

时间:2009-07-02 20:22:39

标签: sql-server-2005 copy linked-server

我在SQL Server 2005数据库中有一个大表,我想将它复制到另一个数据库。

最快的方法是什么?是否有链接服务器和插入的快捷方式?

5 个答案:

答案 0 :(得分:3)

Sql Server Management Studio Express的EXPORT功能。

http://www.microsoft.com/downloadS/details.aspx?familyid=C243A5AE-4BD1-4E3D-94B8-5A0F62BF7796&displaylang=en

您需要指定目标服务器和表格,并且该工具可以执行您所需的一切。

答案 1 :(得分:3)

尝试使用名为bcp的命令行实用程序进行批量导出,并使用批量插入进行导入。

请参阅About Bulk Import and Bulk Export operations

答案 2 :(得分:1)

提高速度,禁用所有形式的日志记录并删除任何约束或参照完整性。

答案 3 :(得分:1)

我不想在这里打人。但到目前为止,我没有找到快速复制表的方法。 我正在做一个大项目,我通常处理3-7百万行的表。当我想要退回桌子时,我的头痛来了。

到目前为止: BCP绝对是最快的工具。但它只能正确处理简单的数据类型。如果你有nvarchar并且有一些奇怪的字符“&#2。它通常不起作用。由于bcp的高风险工作。我建议你忘了它但只用它来做非常简单的表。 这真的很快。

  1. 永远不要提及导出/导入向导或命令。它是我使用过的最低工具之一。它可能在运输过程中破裂。

  2. 到目前为止,最快的方法是分离数据库,用硬盘复制(通常为20M / s)。即使你的数据占用6G磁盘。它只需要300s~5分钟。并将其附加在另一台机器上。删除您不想要的表。如果你使用别人建议的任何方法,我保证你不会在一小时内得到传输。

答案 4 :(得分:0)

我认为最好的选择是使用导出和导入。