首页 > 解决方案 > SSIS 模式切换死锁

问题描述

我有一个 SSIS 包,它获取过去 1/2 小时内发生变化的数据并将其从 DB2 数据库传输到 SQL 服务器。此数据被加载到一个空的导入表 (import.tablename) 中,然后插入到一个临时表 (newlive.tablename) 中。然后,暂存表与事务中的实时 (dbo) 表进行模式切换。仅供参考,dbo 表是可视化工具(Looker)的后端

我的问题是模式切换现在正在创建死锁。每次我运行包时,它都会影响不同的表。我之前一直在对更大的表使用这个过程(也是 Looker 的后端),之前没有遇到过这个问题。

我在另一篇文章中读到,由于索引,用户遇到了类似的问题,但所有数据都已写入目标表。

任何关于在哪里寻找的想法或建议将不胜感激

架构切换代码位于 SSIS 包中的执行 SQL 任务中,其中:

BEGIN TRAN 
ALTER SCHEMA LAST_LIVE TRANSFER DBO.TABLENAME 
ALTER SCHEMA DBO TRANSFER NEW_LIVE.TABLENAME 
GRANT SELECT ON DBO.TABLENAME TO LOOKER_LOOKUP 
COMMIT TRAN

标签: sqlsql-serverssis

解决方案


推荐阅读