【发布时间】:2018-09-23 02:56:30
【问题描述】:
我正在将数据提取到 SQL Server 中的表 A [使用列存储聚集索引]。 “INSERT BULK”有4个并行线程 写入表,我得到一个死锁错误:
事务(进程 ID)在锁定资源上与另一个进程死锁,并已被选为死锁牺牲品。重新运行事务。
经过研究,我发现聚集列存储索引通常会出现死锁问题,但无法弄清楚解决方案。你能建议吗 可以做什么?
【问题讨论】:
-
如果将查询的最大并行度 (MAXDOP) 设置为 1,则不会出现此问题。以下链接可能会有所帮助--support.microsoft.com/en-in/help/4057055/…
-
从 system_health XE 跟踪中发布 deadlock_xml。在 SSMS 对象资源管理器中,Management-->Extended Events-->Sessions-->system_helath-->package0.event_file 并双击查看事件。然后从顶部菜单栏中选择 Extended Events...-->Filters 并指定
name = xml_deadlock_report以查看死锁事件。然后选择一个并复制 xml 值以添加到您的问题中。 -
我需要从管理员那里得到它。我自己无法访问。
-
另外请提供 SQL Server 版本(` select @@version`)。
标签: sql-server deadlock bulk-load columnstore