在SSIS加载期间,当员工表更新时,锁定生效。
但是,使用以下语句禁用了表上的锁定升级:
ALTER TABLE dbo.Employee SET (LOCK_ESCALATION = DISABLE)
DBCC TRACEON (1211,-1)
然而,表(对象)确实被锁定并保持了将近一个小时。总数没有。更新(插入,更新,删除语句)大约是200,000
这里的最终目标并不是要避免锁定,而是要成功地允许读取表格。
没有。更新(插入/更新/删除)在每天50,000个范围内非常高,相比之下,桌面上只有大约50-100个搜索/选择查询,这些查询实际上因锁定而受到影响。
答案 0 :(得分:0)
:
SET LOCK_ESCALATION = DISABLE
在大多数情况下防止锁定升级。表级锁不是 完全不允许。例如,当您扫描表时 在可序列化隔离级别下没有聚集索引, 数据库引擎必须采用表锁以保护数据完整性。
Serializable是SSIS包上的默认IsolationLevel(单击控制流上的任何空白区域并检查包的属性)。 您的表没有任何更改没有聚集索引?