我必须在事务中执行truncate table命令,但如果我这样做,我的执行会冻结。
在序列容器中,我已根据需要启用了Transaction,并放置了一个执行SQL任务和数据流任务。在执行SQL任务中,我设置了截断表命令。
当我运行包时,它会在Truncate命令后冻结。
如果您需要其他详细信息,请与我们联系。提前谢谢。
答案 0 :(得分:5)
有一个已知问题(KB2253391),其中truncate可以阻止其他进程。解决方法是将ValidateExternalMetadata指定为false。
这样做的结果是,如果您更改数据类型或列名称,SSIS将无法识别它,直到执行期间事情向南。对于稳定的包和环境,这通常不是一个问题(根据我的经验)。
在DBA stackexchange上为Kin完成了腿部工作,请随意给予Kin一些爱SSIS package blocks itself if uses TRUNCATE