跟踪标志1211不起作用 - SQL Server 2008 R2

时间:2012-04-10 11:18:32

标签: sql sql-server sql-server-2008 locking deadlock

在SSIS加载期间,当员工表更新时,锁定生效。

但是,使用以下语句禁用了表上的锁定升级:

  1. ALTER TABLE dbo.Employee SET (LOCK_ESCALATION = DISABLE)
  2. DBCC TRACEON (1211,-1)
  3. 然而,表(对象)确实被锁定并保持了将近一个小时。总数没有。更新(插入,更新,删除语句)大约是200,000

    这里的最终目标并不是要避免锁定,而是要成功地允许读取表格。

    没有。更新(插入/更新/删除)在每天50,000个范围内非常高,相比之下,桌面上只有大约50-100个搜索/选择查询,这些查询实际上因锁定而受到影响。

1 个答案:

答案 0 :(得分:0)

来自BOL的

  

SET LOCK_ESCALATION = DISABLE

     

在大多数情况下防止锁定升级。表级锁不是   完全不允许。例如,当您扫描表时   在可序列化隔离级别下没有聚集索引,   数据库引擎必须采用表锁以保护数据完整性。

Serializable是SSIS包上的默认IsolationLevel(单击控制流上的任何空白区域并检查包的属性)。 您的表没有任何更改没有聚集索引?