0

SCD タスク ウィザードを使用して、UpdateChangingAttributeHistory プロパティを設定できず、デフォルトで false になっています。詳細エディターを使用してこれを true に設定できますが、生成されたフローが更新されないため、動作は変更されていません。ウィザードを再実行せずに (UpdateChangingAttributeHistory を false に戻す) フローを再生成するように SSIS をトリガーするには、どうすればよいですか?

私の目標は、変更が発生したときにファクト テーブルを更新するタイプ 2 の scd を持つことです。

4

1 に答える 1

1

ウィザードで UpdateChangingAttributeHistory チェックボックスがグレー表示されている理由を説明できません。しかし、私はそれが何をするかをあなたに言うことができます. これがデフォルトの False の場合、「Changing Attributes Updates Output」の OLE DB コマンドの WHERE 句が次のように変更されます。

... WHERE [SomeKeyColumn] = ? AND [SCD_EndDate] IS NULL

日付を使用していない場合は、[CurrentRowFlag] = 'Y' のようになります。

この属性を true に設定すると、WHERE 句のその部分が削除されるため、タイプ 1 の変更を含むすべての行が最新および履歴で更新されます。以上です。これが、OLE DB コマンドが変更されていないため、コンポーネントを再生成しない場合、フラグが無効になる理由です。

そのため、Changing Attributes Updates Output で手動で変更を加えることができますが、SCD コンポーネントが将来再生成されると、それらの変更が失われる可能性があります。
コメントで指摘されているように、パフォーマンスと保守性を向上させるために、この機能を他のコンポーネントで作成することを検討する価値があります。

于 2014-10-29T13:11:02.873 に答える