我们正在使用.Net SqlClient将数据从远程服务器批量插入我们的SQL Server。
有一天我们的ETL失败了,所以我们试图找出原因。
我们可以注意到的是,与同时启动的其他批量插入相比,批量插入,让我们称之为BI1的时间过长。
通过监视我们的SQL服务器上正在运行的查询,我们可以看到此BI1查询正在改变状态,有时" suspended
",有时" runnable
&# 34 ;.我还没有看到"跑步"目前,但也许它在运行时非常快,我在刷新查询之间看不到它。
当它是" suspended
" (大多数时候),等待类型是" ASYNC_NETWORK_IO
"。行数始终相同:38。
我的理解是批量插入正在等待插入数据。我是对的吗?
这里的问题是如何识别潜在问题?
我已经排除了网络问题,因为这两台机器之间还有其他流程同时成功完成。 目标表非常大(7M +行),但插入似乎工作得很好而且速度很快。