如何使 SQL Server 以块的形式提交插入?我需要将大量行从旧数据库复制到新表中,它有几个问题:
它需要很长时间才能完成,并且在整个事务完成之前我看不到表中的任何行。
我的日志文件正在疯狂增长,它可能会用完空间。
如果中间出现问题,我必须重复所有内容。
如果我添加SET ROWCOUNT 500
,我可以限制行数,但我不知道如何继续使用最后插入的 ID。我可能会查询新表以查看最后插入的内容,但我不确定这是否正确。这有点困难,因为我的where
子句不使用ID
列,所以我不确定如何确切地知道从哪里继续。
最好的方法是什么?是否有“for循环”或允许我每隔一段时间提交一次的东西?
我正在为 SQL Server 2008 R2 使用 SSMS。