在SQL Server表之间有效地移动大量数据?

时间:2008-11-24 14:41:16

标签: sql-server-2005

我在SQL Server中有一个相当大(很多千兆字节)的数据表,我希望将其移动到同一服务器上另一个数据库中的表。

表格布局相同。

最有效的方法是什么?

这是一次性操作,因此无需自动化。

非常感谢。

5 个答案:

答案 0 :(得分:6)

如果是一次性操作,为什么这么关心 top 效率呢?

SELECT * INTO OtherDatabase..NewTable FROM ThisDatabase..OldTable

INSERT OtherDatabase..NewTable
SELECT * FROM ThisDatabase..OldTable

......让它过夜。我敢说在同一台服务器上使用SELECT / INSERT INTO并不是你能获得的最佳效率。

答案 1 :(得分:2)

或者您可以使用Microsoft SQL Server Management Studio中“管理”下的“SQL导入和导出向导”。

答案 2 :(得分:2)

我会选择Tomalak的回答。

您可能希望暂时将目标数据库置于批量记录恢复模式,然后执行'select into'以停止日志文件爆炸...

答案 3 :(得分:1)

如果是SQL Server 7或2000,请查看数据转换服务(DTS)。对于SQL 2005和2008,请查看SQL Server Integration Services(SSIS)

答案 4 :(得分:1)

绝对将目标数据库置于批量记录模式。这将最小化记录操作并加快速度。