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