0

最近、SQL Server 2008 に CDC を実装しました。実行は先週まで問題ありませんでした。しかし、一昨日、サーバーからメモリ不足の問題が発生しました。CDC から作成された一時ファイルにより、サーバーのハード ディスクがいっぱいになったと表示されます。これに対する解決策はありますか。CDC が終了するとすぐに一時ファイルが削除されますが、これにより巨大な一時ファイルが作成されるため、OUT またはメモリの問題が発生します。

大規模な更新で​​消費するメモリが少なくなるように CDC パッケージを最適化することは可能ですか。

4

1 に答える 1

2

パッケージは、サーバーが割り当てることができるよりも多くのメモリを使用しています。これが発生すると、メモリ状況に対処するためにディスク上に一時ファイルが作成されます。デフォルトでは、これはBufferTempStoragePathデータ フロー タスクの値に書き込まれます。この値を指定しなかった場合、これらのファイルは OS の一時ファイルの場所にデフォルト設定されます。これは通常 C: であり、これを埋めると不安定になる可能性があります。ダメです(TM)

これが発生した場合、4 つのオプションがあります。

  1. 各データ フロー タスクのプロパティを変更して、BufferTempStoragePath の場所を明示的に定義します。これは通常、プロセスへの影響が最も少ない方法ですが、ディスクへのページングの根本的な原因には対処できません。
  2. このデータ フローが発生したときに並列操作が発生しないように、パッケージ全体を作り直してください。
  3. BufferRows (概数) をより小さな数に調整して、パイプラインに入る行を少なくして、ページングを減らします。
  4. データ フローを作り直して、使用する非同期変換を減らします。この記事は、メモリを集中的に使用する変換を特定するための出発点として適しています。

バッファーの場所に関する参照ssis でのバッファー temp と blob temp の実際の使用は何ですか

于 2013-12-26T16:47:05.537 に答える