我在SQL Server中有一个相当大(很多千兆字节)的数据表,我希望将其移动到同一服务器上另一个数据库中的表。
表格布局相同。
最有效的方法是什么?
这是一次性操作,因此无需自动化。
非常感谢。
答案 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)
绝对将目标数据库置于批量记录模式。这将最小化记录操作并加快速度。