【发布时间】:2013-09-04 00:13:41
【问题描述】:
我必须在事务中执行 truncate table 命令,但如果我这样做,我的执行会冻结。
在一个序列容器中,我已根据需要启用了事务,并放置了一个执行 SQL 任务和数据流任务。在执行 SQL 任务中,我设置了截断表命令。
当我运行包时,它会在 Truncate 命令后冻结。
如果您需要更多详细信息,请告诉我。提前致谢。
【问题讨论】:
-
看看你的输出窗口,那里有显示任何信息吗?错误/警告/信息消息?如果连接到要截断表然后加载的服务器,运行 sp_whoisactive/sp_who2 会显示什么?它是否显示您的进程被事务阻止?
-
@billinkc,我将上面的部分作为包分开,现在它在几秒钟后抛出错误。 “错误:数据流任务中的 0xC0208457,插入 DB 1 [90]:无法获取外部列的属性。您输入的表名可能不存在,或者您没有对表对象的 SELECT 权限,并且可以尝试通过连接获取列属性失败。
-
@billinkc,如果我将事务选项更改为支持/不支持,它将按预期运行。
-
在您的数据流任务的属性中,如果您将 ValidateExternalMetadata 的值更改为
False,是否可以解决您的问题? -
@billinkc,是的,解决了问题,谢谢。 ValidateExternalMetadata 属性描述说验证将延迟到运行时。所以我希望如果我将它设置为 false 没有问题。再次感谢。
标签: ssis