我可以在SQL Server中指定自动提交间隔吗?

我在MS SQL Server中有一个长时间运行的INSERT语句。 大约一个小时之后,事务日志耗尽空间。 是否可以设置会话的自动提交间隔,以便在插入这么多logging后刷新事务日志?

jl的答案很好。 我也会考虑看你的插入策略。 你可以利用批量插入的效率吗? 如果大容量插入不是你的答案,那么按照jl的build议把你的工作分成几批插入就可能了。

另一个要考虑的事情是在插入之前删除索引并在插入之后重新创build索引。 对于这个密集的工作,这可以大大减less执行它的时间。 ( 见这里 )

也许你已经考虑过(并且可能已经在使用)一个明确的事务,在X INSERTS执行之后提交。

这些可能是有用的https://stackoverflow.com/questions/1602244/batch-commit-on-large-insert-operation-in-native-sql

http://sqlserverplanet.com/data-warehouse/transferring-large-amounts-of-data-using-batch-inserts/