sql - 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
解决方案
推荐阅读
- javascript - 反应:无法在组件内获取 this.state.name
- java - C++ JNI UnsatisfiedLinkError
- google-cloud-platform - 使用 Deployment Manager 进行 BQ 计划查询:“P4 服务帐户需要 iam.serviceAccounts.getAccessToken 权限”
- eclipse - 如何捕获从 HID 条码扫描仪发送到文本字段的 *所有 * 字符?
- jquery - 通过 li 的日期对 li 元素进行排序并使用它的全部内容 jquery 移动
- ruby-on-rails - 如何在rails 5中做通配符子域
- java - J2ME 不会连接到远程套接字
- gradle - 如何使用 gradle 运行 aj 单元测试套件
- python - Math.log() 处理数组
- node.js - 承诺
看到错误并且我的输入数据没有写入 Mongo DB。我不知道这里的承诺是什么