NTFS アロケーションユニットサイズを 64 KB に設定する - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

NTFS アロケーションユニットサイズを 64 KB に設定する

SQL Server のストレージの基本単位はページで、サイズは 8 KB です。物理的に連続する 8 ページが 1 エクステント(サイズは 64 KB) を構成します。SQL Server はデータの保存にエクステントを使用します。したがって、SQL Server マシンでは、SQL データベースファイル (tempdb を含む) をホストする NTFS アロケーションユニットのサイズは 64KB でなければなりません。

ドライブのクラスタ (NTFS アロケーション) サイズを確認するには、PowerShell またはコマンドラインを使用することができます。

PowerShell を使用する:

Get-wmiObject -Class win32_volume | Select-object Label, BlockSize | Format-Table –AutoSize

次の図に、PowerShell からの出力例を示します。

Checking NTFS allocation size: output from PowerShell

または、以下を使用します:

$wmiQuery = "SELECT Name, Label, BlockSize FROM win32_volume WHERE FileSystem='NTFS'" Get-wmiObject -Query $wmiQuery -ComputerName '.' | Sort-Object Name | Select-Object Name, Label, BlockSize

コマンドラインの使用:

$ fsutil fsinfo ntfsinfo C:

次の図は、コマンドラインからの出力例です。[Bytes Per Cluster] の値には、フォーマットサイズがバイト単位で表示されます。出力例には 4096 バイトと表示されます。SQL Server データベースファイルをホストするドライブでは、この値は 64 KB でなければなりません。

Checking NTFS allocation size: output from the command line

Amazon EC2 で SSD ストレージを使用する場合、SQL Server のパフォーマンスはブロックサイズに依存しない場合があります。詳細については、ブログ記事「SQL Server ストレージの 64 KB のブロックサイズは、AWS カスタマーにとってメリットがあるのか」 を参照してください。