SQL TempDB は RAMDisk 上または PCI-E 上にありますか?

SQL TempDB は RAMDisk 上または PCI-E 上にありますか?

私は尋ねたこれdba.stackexchange での質問

当社には 800 GB のメモリがあり、データベースは約 250 GB しかないため、ベンダー アプリケーションは tempdb を大量に使用するため、現在の SSD (SAN Tier 1) ではなく、データ ファイルとログ ファイルに 100 GB を割り当てて、SQL Server の tempdb ファイルを RAMDisk に配置する予定です。

PCI-E カードよりも優れていますか? SQL が再起動されるたびに tempdb が削除され、再作成されるため、永続性ではなく速度のみが重要です。

また、当社は WQHL 認定ベンダーを優先します。特に選択したり避けたりすべきベンダーはありますか?

答え1

TempDBはSQL Serverによって削除/作成されません。データ内部は保存されていないが、ファイルSQL Server では、標準のデータベースのデータ ファイルとログ ファイルのセットと同様に、起動時にこれらのファイルがクリーンであると想定されます。

RAM ディスクに TempDB ファイルを作成すると、再起動時にファイルが破棄され、DB がクリーンな状態で存在する必要があるため、SQL Server がクラッシュします。

理論的には、何らかのロジックを構築できると思います

  1. SQL Server がシャットダウンされている間にコピーされたベースライン TempDB .mdb ファイルの「クリーンな」セットを取得します。
  2. そしてそれらをRAMドライブに復元する前にSQL Serverが起動します

しかし、SQL Server エンジン サービスが開始する前にファイルのコピーが完了していることを確認する必要があるため、これは不格好でエラーが発生しやすくなります。

私は「SQL Serverセットアップチェックリスト」を使用しており、これを推奨しています。ブレント・オザール救急隊員SQL Server を構築するときに使用するキットです。SQL Server ビルドのベスト プラクティスについて説明します。

関連情報