SQL Server暂停

时间:2017-09-28 07:48:27

标签: sql-server c#-4.0

我有两个应用程序对同一个SQL Server表执行某些操作。一个应用程序使用C#SqlBulkCopy将大约20万条记录导入SQL Server表,另一个应用程序查询来自同一SQL Server表的数据。

我发现此消息 - 请检查屏幕截图。该表有一亿行。我该如何解决?

Please check this picture

1 个答案:

答案 0 :(得分:1)

如果任何事务正在修改表并影响超过5000行,则SQL Server将升级从行级锁定到独占表锁的锁定。< / p>

因此,如果您的应用程序#1在表中批量加载200'000行,那么该表将在加载过程中被独占锁定。

因此,在加载过程完成之前,您的应用程序#2或任何其他客户端将无法查询该表。

这是SQL Server的正常,记录,预期的行为

要么确保在工作时间内一次批量加载数据少于5000行,要么在下班后进行批量加载,此时没有人受到独占表锁的负面影响。