首页 > 解决方案 > 将文件插入 SQL Server varbinary 字段会导致整个表锁定

问题描述

我继承了一个 VB.NET 应用程序,该应用程序使用 System.Data.SqlClient 将文件插入到 SQL Server 中的 varBinary(max) 中。

它创建一个事务,使用 SQLCommand 插入记录,然后更新传递字节的同一记录,这个循环以 2Gb 块循环,直到整个文件被插入。然后提交事务。

此过程锁定表,因此如果两个人同时尝试插入文档,应用程序将挂起等待队列中的第二个人轮到它。

我看过 将数据插入 SQL Server 会锁定整个表吗? 代码中的任何地方都没有对 TABLOCK 的引用,我找不到它所指的“某些类型的批量加载操作”是什么,但这似乎不像是批量操作。

任何帮助或想法如何阻止它锁定或任何或选项将不胜感激。

标签: sql-servervb.net

解决方案


推荐阅读