Azure SQL数据库bcp冻结并回滚

时间:2018-11-25 03:25:52

标签: azure azure-sql-database

我正在将130GB文本文件BCP到Azure SQL数据库中。在最后800条记录中,BCP停滞。我将其保留了8个小时,Azure数据库从150GB减少到30GB(已回滚),该表为空,并且DTU的使用率保持为0。错误地,我在表上留下了一个聚集索引,所以我发现可能与回滚有关。因此,我删除了索引,然后重新运行它,它的上传速度更快,但似乎又停滞了。

enter image description here

在启动BCP之前,数据库当前为157GB,当时为30GB。 enter image description here

是什么原因导致它停止/回滚?任何日志或我可以检查的东西吗?

1 个答案:

答案 0 :(得分:1)

在不使用BCP参数指定批处理大小的情况下执行-b时,整个文件将在单个事务中处理。在这种情况下,发送的行消息仅指示仅进度。在单个事务中对大型文件执行BCP操作将需要大量事务日志空间,并且由于存在大量脏页,因此常常还会降低性能。

使用-b参数,指定的批处理大小控制每个事务的大小。每个批次都是单独提交的,进度消息也将反映批​​次的大小。