私は、一部のプロセスフロー、スクリプト、およびストレートデータのインポートにSSISを使用しています。私がSSISから呼び出しているストアドプロシージャ内で、SQLのタスクを実行すると、ほとんどのデータの消去と変換が行われます。ほとんどのsprocsにとって、何らかの理由で失敗した場合、私は実際にトランザクションをロールバックすることに本当に気をつけません。私のSSISのエラー処理は、本質的にステージングデータをすべて消去し、そのエラーをテーブルに記録します。 (人間がその時点で基礎となるデータの問題を修正する必要があります)ストアドプロシージャを使用したSSIS 2008トランザクションのベストプラクティス
私の質問はbegin tran、end tranを中心に展開しています。ストアドプロシージャが失敗し、呼び出し元のSSISプロセスに知らせていない場合がありますか?ハードウェア障害、ロックタイムアウトなどを探しています。
可能な限りトランザクションを使用しないようにしたいのですが、SSISのエラー処理に頼っています。
思考?
素晴らしい点。私は実際に更新を見ているだけでなく、カウントを挿入します。私はまた、SQLサーバーで生の変更されていないデータを保持していませんが、問題のあるファイルの実際の行番号を記録しています。そうすれば、問題が何であるかをSQLで調べる必要はありません。 –
私は100万を超えるレコードを持つファイルを持っています。問題のレコードを見つけるためにテーブルをクエリする方が簡単です。しかし、正確な行番号も記録します。 – HLGEM
私は理解します。私たちのファイルは、20Kレコードの行にあります。アナリストは、基本的にExcelを使用してファイルを開いてレビューします。 –