有谁知道如何设置ssis包的死锁优先级?我正在运行一个包,在缓慢变化的维度任务中,它引发了死锁错误。
Transaction (Process ID 75) was deadlocked on resources with another process
and has been chosen as the deadlock victim. Rerun the transaction.
我想将此优先级设置为高,这样就不会导致此错误。
谢谢。
我以前没有遇到过这个问题,所以在我这边很难复制。但是,我相信您应该尝试更改事务隔离级别以查看是否可以修复错误。为此,请在控制流中单击灰色背景,以便在属性窗口中显示包的属性。向下滚动到“交易”,您将在那里看到它。
有关该主题的其他信息:
https://learn.microsoft.com/en-us/sql/connect/jdbc/understanding-isolation-levels
https://learn.microsoft.com/en-us/sql/integration-services/integration-services-transactions
我遇到了同样的问题。
我正在使用一个数据流任务组件,其中有一个具有许多输出的条件分割。
问题是这些输出中的多个输出调用相同的存储过程(由于存储过程正在对特定数据库资源执行锁定,我发现自己并行使用由同一过程锁定的同一资源=> 结果是死锁)。
我的案例的解决方案是复制数据流任务,并确保在每个数据流任务中以及对于内部的条件分割,我仅使用输出的一部分,以便不存在调用相同存储过程的输出.
数据流任务组件的数量将与我的条件分割的所有输出的覆盖范围有关。
希望这有帮助。