我有一个程序包,它从表中读取数据,并根据列值将记录存储在另外两个表中。该程序包使用事务必需属性。直到最近,当我在源表上创建了一个非聚集索引以提高性能时,程序包才运行得很顺利。但是,在显示“验证已开始”的进度后,该程序包拒绝执行。
有两件事可以解决这个问题:
1. 使用聚集索引而不是非聚集索引。 2. 将ValidateExternalMetadata属性设置为False。
我不必同时使用两者,只需使用其中之一即可使程序包运行顺畅。我选择了选项1,但我不明白底层发生了什么。我的问题是:
1. 当您将属性设置为false时,除了检查列元数据之外,还会发生什么? 2. 为什么非聚集索引会导致验证问题?
PS:在表上之前没有索引。
有两件事可以解决这个问题:
1. 使用聚集索引而不是非聚集索引。 2. 将ValidateExternalMetadata属性设置为False。
我不必同时使用两者,只需使用其中之一即可使程序包运行顺畅。我选择了选项1,但我不明白底层发生了什么。我的问题是:
1. 当您将属性设置为false时,除了检查列元数据之外,还会发生什么? 2. 为什么非聚集索引会导致验证问题?
PS:在表上之前没有索引。