実稼働データベースのデータを使用してトレーニング データベースを更新するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/80271

  •  09-06-2019
  •  | 
  •  

質問

ネットワーク上にトレーニング インストールを維持する必要がある特定のシステムがあります。このシステムはデータベース エンジンとして SQL Server 2000 を使用しているため、トレーニング データベースのデータを運用データベースのデータで定期的に更新するシステムをセットアップする必要があります。

プロセスを実行できる SQL 2005 サーバーがあるため、SSIS を使用したいと考えています。私は SQL の経験はかなりありますが、SSIS についてはあまり経験がありません。「データベース転送タスク」を使用してこれを実行しようとしましたが、常にエラーがスローされるため、あまりうまくいきませんでした。

構成項目などの使用を無視し、すべてのデータベース名などがハードコーディングされていると仮定すると、次のようになります。次のプロパティを持つ単一の SSIS「データベース転送タスク」:

  • 宛先の上書き:真実
  • アクション:コピー
  • 方法:データベースオンライン

受け取ったエラーは次のとおりです。

エラー:タスクの Execute メソッドがエラー コード 0x80131500 を返しました (エラー :errorCode=-1073548784 description=クエリ「EXEC dbo.sp_addrole @rolename = N'XXXXX'」の実行が次のエラーで失敗しました:「ロール 'XXXXX' は現在のデータベースにすでに存在します。」考えられる失敗の理由:クエリの問題、「ResultSet」プロパティが正しく設定されていない、パラメータが正しく設定されていない、または接続が正しく確立されていない。helpFile= helpContext=0 idofInterfaceWithError={8BDFE893-E9D8-4D23-9739-DA807BCDC2AC})。Execute メソッドは成功し、「out」パラメータを使用して結果を示す必要があります。

ここで何か明らかなことが起こっていると確信していますが、タスクがロールの既存のものを上書きするように設定されている場合、問題はないはずです。これを機能させるために何をする必要があるか知っている人はいますか?

役に立ちましたか?

解決

どうやらこれは SQLServer 2005 SP2 で修正されるはずです ここを参照してください. 。Visual Studio 内から SSIS パッケージを実行している場合は、クライアント マシンにもパッチを適用する必要があるようです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top