私の本番データベースでは、TempDbに以下の構成があり、言うまでもなく、IO問題に直面しています。したがって、 推奨 のように計画していますそれを変える
変更#1別のドライブに2つの.mdfファイルを追加します。
変更#2tempdb .mdfサイズの初期サイズを1024に、自動拡張を10%に変更します。
変更#3.ldfの自動拡張を50%に変更
3つの質問があります。
私の他の質問の参照
「ログフル」エラーを回避するためにSQL Serverのログ操作を最小限に抑える方法
ポール推奨 に従って、20のtemdbファイルを作成する必要がありますか?
Paulの推奨事項と KB 2154845 に記載されているように、8つのファイルを使用し、必要に応じて調整します。
原則として、論理プロセッサの数が8以下の場合は、論理プロセッサと同じ数のデータファイルを使用します。論理プロセッサの数が8より大きい場合は、8つのデータファイルを使用し、競合が続く場合は、競合が許容レベルに減少するまで、または4の倍数(論理プロセッサの数まで)だけデータファイルの数を増やします。ワークロード/コードの変更。
ここで、tempdbファイルが自動拡張を必要としないように作成されていること、およびそれらがすべて同じサイズで、パーセンタイルではない同じ拡張パラメーターであることを確認してください。
これでtempdbは約140 GBになり、プロビジョニングする必要があるサイズとほぼ同じになります。 8x15-20 GBのデータファイルと1つのログファイルを作成し(トランザクションログは順次使用されるため)、すべてのファイルにまったく同じ拡張パラメーターを設定します。インスタントファイル割り当てを使用している場合、ストレージ上で意味のある512MBは問題ありません。トランザクションログは約5 GBなので、トランザクションログ用の単一の6〜8 GBファイルを作成し、自動拡張をMB単位に設定します。ログの増加は、瞬時のファイル割り当ての影響を受けないため、そのパラメーターをデータベースファイルのパラメーターよりも小さくしてください。
それでも競合が見られる場合は、16x 8-10 GBファイルを使用し、トランザクションログパラメータは変更しないでください。