0

Attunity Oracleドライバーを使用してリモート サーバー上の Oracle データベースに接続し、データを取得して Excel ファイルにダンプしています。Visual Studio BIDS ではすべて正常に動作します。VS から、リモートの Oracle サーバーに直接接続してデータを取得できます。

しかし、この ETL を実稼働サーバー (64 ビット Windows Server 2008 & SQL Server 2012) に展開すると、ETL は常に実行フェーズで停止します。しばらく(20〜30分)実行した後、次の警告が表示され、エラーが発生することなく実行が継続されます-

[SSIS.Pipeline] Information: The buffer manager detected that the system was low on virtual memory, but was unable to swap out any buffers. 0 buffers were considered and 0 were locked. 
Either not enough memory is available to the pipeline because not enough is installed, other processes are using it, or too many buffers are locked.

いくつかの詳細情報 -

  1. サーバーのメモリを確認しましたが、合計 12GB のうち 3GB しか使用されていません。
  2. 私はすでに最大8GBを使用するようにSQLサーバーを設定しています。
  3. SQL Server エージェント ジョブを使用して、ETL を 15 分ごとに定期的に実行しています。
  4. サーバー上の他のすべての ETL を停止して、この ETL を実行しようとしましExecute Package Utilityたが、結果は同じです。
  5. Oracle Query で日付範囲を使用してデータを取得しています。特定の日付範囲のクエリがデータを返さない場合、ETL の実行は常に成功します。

進捗ログ (パッケージ実行ユーティリティ) -

ここに画像の説明を入力

ポインタ/提案はありますか??

問題を適切に説明できることを願っています。

更新 (2014 年 3 月 5 日) -

取得するデータの量を減らしてみたところ、ETL は成功しました。また、DefaultBufferSize10 MB(最大サイズ)に設定しました。しかし、クエリ データが超過している場合DefaultBufferSize、パッケージが開発マシンでは成功するのに、サーバーでは成功しないのはなぜですか??

ありがとう、プラテック

4

0 に答える 0