1

私は SQL Server 2012 を使用しており、Data Quality Services (DQS) クレンジング変換を使用する SSIS パッケージを作成しました。SSIS パッケージを DEV 環境から QA または PROD に移動しようとする場合を除いて、すべてがうまく機能します。

SSIS DQS 変換は、ナレッジ ベースの名前ではなく、ナレッジ ベースの ID を XML にハード コードします。問題は、DQS KB をインストール/インポートすると、KB に別の ID が作成されることです。したがって、ある環境の KB の ID は、別の環境の同じ KB の ID とは異なります。たとえば、DEV 環境の ID は 100005 で、PROD 環境の同じ KB の ID は 100007 です。

このため、変換が PROD 環境で実行されると、変換が ID 100005 の KB を探し、PROD では ID が 100007 であるため、タスクはエラーをスローします (スローされるエラーは次のとおりです: ナレッジ ベースは存在しません)。 .

Microsoft が提案する唯一の回避策は、KB を 1 つだけにしてすべての環境がそれを指すようにする (ネットワーク チームはこれを許可しません)、またはカタログ/展開ツールを使用せずに SSIS プロジェクトを他の環境に移動してからパッケージを開くことです。 SSIS で KB を再選択し、SSIS DQS 変換で KB を再選択しますが、開発チームは PROD のサーバーにアクセスできないため、これは受け入れられる回避策ではありません。

誰かが別の回避策を見つけましたか? ところで、これはマイクロソフトが行うように言っていることです: https://support.microsoft.com/en-us/kb/2882914 (基本的に私が上に書いたもの)。また、XML でハードコードされた ID を変更しようとしましたが、何らかの理由でうまくいきませんでした。

回避策がない場合、このタスクは役に立たず、うまく機能するだけに残念です。

4

1 に答える 1

0

私が提案する別の方法の 1 つは、ID を変数/パラメーターに置き換えることです。このようにして、ある環境から別の環境に移動すると、実際にこの設定を動的に変更できます。

于 2016-04-08T12:33:31.593 に答える