- - PR -
膨れ上がるtempdbに対処する方法?
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2006-11-02 04:42
いつもお世話になってます。 現在、 約 1300万レコード の 履歴詳細データと、 約 160万レコード の 履歴ヘッダーの2テーブルを結合させて 最終的に1300万レコードの巨大なテーブルを作成するSSISパッケージを dtsxで作成しました。 これを、インテグレーションサービスでSSISにインポートして MSDBに登録したあと、走らせると、 tempdbがとてつもなく巨大になります。(100GBをかんたんの超えます) このJOB自体は週次のタスクので 他のJOBの中間で起動する流れにあるのですが そこで質問があるのですが その前後でtempdbを初期化できればしたいのですがこれは可能なのでしょうか? もちろん、JIBの単位を分割してしまって スケジュールのステップで スケジュールを動かすSQL Agent, および SSISを動かすSQL Integration, を動かしたまま、 SQL Serverサービスだけを再起動してしまってもいいもしれませんがきちんと うごくかわかりませんのでできればSQLでこれができればいいとおもってます。 圧縮をこころみましたがほとんど大きさがかわりませんでした。 この巨大な作業をするSSISのDTSXは 古いテーブルの 1.TRUNCATE、 2.データのロード、 3.インデックスの作成、 4.出来上がったテーブルにさらにUPDATE と4つの処理をしてますので、 できればSQLコマンドでその合間にtempdbを小さくしてしまう〔初期値に戻してしまう)のが理想的なのですが。 (パッケージ4つに分割して、スケジュールで わざわざSQLサーバーを再起動はさせたくないので) またSSISでなくファイルとして登録してはしらせたほうが、 そういった負荷は減るのでしょうか? なにかヒントありましたらどうかご教授ください。 |
1
