ValidateExternalMetadata property, what exactly does this do?

前端 未结 2 1198
野趣味
野趣味 2020-12-18 12:27

I have a package which reads data from a table and based on a column value stores the records in two other tables. Package uses Transaction required property. It was running

相关标签:
2条回答
  • 2020-12-18 12:31

    This may be the explanation:

    http://support.microsoft.com/kb/2253391

    The execution of a SQL Server Integration Services (SSIS) package stops responding when you enable DTC transactions for a package in Microsoft SQL Server

    0 讨论(0)
  • 2020-12-18 12:42

    The KB linked to in the previous answer should resolve this specific problem, but doesn't fully explain what the ValidateExternalMetadata flag does.

    Most SSIS components which interact with an external system (for example, the Lookup Transform, or Source/Destination components) will define External Metadata Columns. These represent the columns in the table/view/query the component is interacting with. This metadata information gets cached within the package file (.dtsx).

    During the Validation phase, a component is supposed to check to make sure that the cached metadata in the package is still in sync with the underlying table/view/query. If there is a mismatch, the component returns a special status (VS_NEEDSNEWMETADATA). When this happens at design-time, SSIS triggers a metadata refresh by calling ReinitializeMetadata(). At runtime, this results in an error.

    Because metadata validation can be expensive (large table with a lot of columns, for example), the ValidateExternalMetadata flag can set to false to disable this validation. Typically, you'd only do this when you are certain that your package and underlying table/view/query will remain in sync.

    0 讨论(0)
提交回复
热议问题