0

我需要将记录从现有表中插入到新表中。我使用以下查询来执行此操作:

Insert into Newtable
Select * from Oldtable where date1 = @date

此查询大部分时间都有效,但在一种情况下,我会为 date1 值插入 1000 万条记录。在这种情况下,我收到以下错误消息:

错误:数据库“tempDB”的事务日志已满。要找出日志中的空间不能被重用的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列

我应该将查询分成几部分并按顺序插入它们,还是有办法对当前查询执行此操作?

4

1 回答 1

1

这也许是一个令人反感的建议。但是,您可以尝试将数据导出到文件,然后使用批量插入进行插入,并将数据库日志记录设置为 SIMPLE 或 BULK-LOGGED。

更多信息位于http://msdn.microsoft.com/en-us/library/ms190422.aspx

于 2012-06-28T21:30:32.013 回答