2

正常に動作する SSIS パッケージがあります。このパッケージは毎晩実行され、完了するまでに約 4 時間かかります。私はSSISの初心者なので、私のオプションが何であるかを知りたいです。これら 2 つの問題について Web 上で何も見つけられないので、アドバイスをいただければ幸いです。

  1. 電源障害/偶発的な再起動など、外部の問題が発生した場合の対処方法。誰かに警告したり、再起動時にパッケージを再開したりする方法はありますか?

  2. 数週間前、ハングしてテーブルをロックしたプロセスがあり、プロセスが実行されませんでした。開始する前に適切なアクセス権があることを確認し、そうでない場合はアクセス権を取得するための最良の方法は何ですか。プロセスなどを強制終了しても問題ありません。

ベストプラクティス情報を探しています。ありがとう

4

1 に答える 1

1

#1 - SSIS には固有の「再起動」メカニズムはありません。そもそも、固有の「開始」メカニズムがないためです。パッケージのスケジュールされた実行を管理しているプロセスを確認する必要があります。これは SQL エージェントである可能性があります。そのため、SQL エージェント ジョブが失敗したかどうかを判断したり、そのジョブを再起動したりするためのオプションは、ジョブの内容が SSIS パッケージであるかどうかに関係なく同じです。ジョブの実行と結果を監視およびクエリするためのストアド プロシージャが多数あります。ジョブ/パッケージのステータスを記録するための独自のメカニズムを実装することもできます。SSIS は、特定のポイントからパッケージを再起動するのに役立つ「チェックポイント」を提供しますが、その機能に関する一般的なコンセンサスは、適用範囲が限られているということです。マイレージは異なる場合があります。個人的には、私は常にジョブに失敗ルートを含めて、ジョブの失敗時に誰かにメールを送信し、ジョブとパッケージを冪等になるように構成します。つまり、同じ操作を 2 回不適切に実行することを恐れずに再実行できます。環境を「リセット」する (削除して再読み込みする) か、中断した場所を正確に検出できます。

項目 2 は難しい質問であり、環境とシナリオに大きく依存します。SQL 実行タスクのような単純なタスクを使用して、十分な権限またはロックが存在する場合に失敗することがテストされた「テスト」コマンドを実行できます。または、SP やその他のメカニズムを通じて直接問い合わせて、パッケージの本質を実行する前に是正措置を講じる必要があるかどうかを判断できる場合もあります。「失敗時に」優先順位制約を使用すると、そのようなロジックを支援できます。イベント ハンドラーも同様です。

于 2010-05-12T05:51:36.313 に答える