6

で手動で実行すると毎回正しく実行される SQL Server ストアド プロシージャがありますEXECが、SSIS パッケージの一部として実行すると、次のようなエラーで失敗します。

Executing the query "EXECUTE (ProcName)   " failed with the following error: 
"The OLE DB provider "SQLNCLI10" for linked server "(OtherServer)" reported a 
change in schema version between compile time ("177833127975044") and 
run time ("177841717910098") for table (Server.Database.Schema.Table)".

この手順はMERGE、ビューのデータを SP と同じサーバー上の別のデータベースのテーブルにマージするステートメントです。

ビューは、リンク サーバーを参照しますOtherServer。リンク サーバーで参照されているデータベースは削除され、夜間に再作成されます。

これまでのところ、私はこれらのことを試しました:

1) MERGE を実行する前に、ビューを削除して再作成します。

2) MERGE を含む SP を定義しますWITH RECOMPILE

EXEC()3)事前にコンパイルされないようにMERGE ステートメントをラップします。

4) Bypass PrepareSSIS の関連するステップで true に設定します。

編集

ストアド プロシージャを含むサーバーは SQL Server 2008 を実行しています。リンク サーバーは 2008 R2 です。

4

1 に答える 1