web-dev-qa-db-ja.com

tempdbログファイルのベストプラクティス

Tempdbデータファイルの構成方法に関するブログを何度も読みましたが、tempdbログファイルに関する情報は見つかりませんでした。

Tempdbで現在使用している戦略は次のとおりです。

  • Tempdbデータファイルを分割する方法について Paul Randalの推奨事項 を使用しました
  • Tempdbデータファイルのサイズを最大に設定し、自動拡張を無効にしました。たとえば、100 GBの空きディスク領域があり、8つのtempdbデータファイルのサイズをそれぞれ10 GBに設定します。 Brent Ozarが推奨 としてディスクの断片化を防ぎ、ログファイル用に20 GBの空き容量を確保しています。

しかし、私が言ったように、tempdbログファイルについて誰も話していません。どうすればいいですか?私のセットアップでは、このファイルはtempdbデータファイルと同じ場所にあります。 tempdbログファイルで使用するサイズと自動拡張値は何ですか?

11
Alexandre Jobin

トランザクションログを流れるデータの量によって異なります。今日のログの大きさを見てください。 SQLの起動時に、ログを少なくともそのサイズに設定する必要があります。ほとんどのクライアントでは、tempdbの3〜4ギガのトランザクションログが記録されます。これには、ほんの数個のVLFが含まれており、すべてがうまくスムーズに機能します。

5
mrdenny

Aaronは正しいです。TempDBの構成は、スナップショット分離を使用するかどうかなど、多くの変数に依存しています。ここに古い MS/TNのSQL 2005ホワイトペーパー があります。それの良いビットはまだ適用されます。具体的には、「tempdbロギングに必要なスペース」を確認して、tempdbログに記録されているトランザクションの種類を確認し、それに応じて設定できるようにします。時間の経過とともに監視し、微調整する必要があるようなものになるでしょう。

Tempdbの認証に関する限り、過去にレポートサーバーでこれを不本意に無効にしました。これまでに経験した動作では、長時間実行されているトランザクションが中止されてロールバックされ、即座にログ領域が解放されましたが、私の場合、トランザクションの種類は、大量の並べ替えと結合操作(不十分なレポートクエリ)でした。私はアーロンに同意し、特にトランザクション量が多い状況では、可能であればこれを回避することをお勧めします。

0
Miketk

パフォーマンスを向上させるためにハードウェアが同時にデータを書き込み、同時にログを記録できる場合は、常にログファイルを別の物理/ディスクアレイに保存するように言われました。 20G tempdbの制限を生み出した制限がサイズの答えを定義するのではないかと思います。自動拡張の場合、これは、実行中のトランザクション、使用可能な空き容量、およびディスク上のその他のリソースに依存する可能性があります。通常、初期サイズの1/6を任意に選択します。

0
Robert Gannon