web-dev-qa-db-ja.com

SQL Server 2017は、古いバージョンを含め、8kのディスクセクターサイズをサポートしていますか?

ディスク(大まかに言って、回転メディアだけでなく非回転メディア[SSD、NVMeなど]も含む)ドライブは、基盤となるフォーマットとハードウェアで進化し続けています。これの一部は、512バイトの物理セクターサイズから4kの物理セクターサイズへの「拡張」であり、 ディスクレイアウト上 (512n、512e、4kn)を変更します。

この次の進化は、8kの物理セクターサイズを使用することです。これは、一部の製造元が生産を開始し、生産に設定し始めています。この次のステップで、8kセクターサイズのディスクはWindowsでサポートされますか? SQL Serverはセクターサイズを考慮しますか?

13
Sean Gallardy

8kセクターサイズのディスクはWindowsでサポートされていますか?

現在、いいえ、それはWindowsではサポートされておらず、 ドキュメント になっています。

SQL Serverはセクターサイズを考慮しますか?

はい、SQL Server 注意 セクターサイズについて。実際、SQL Serverは、さまざまな理由(データの整合性、最適化など)のために現在のディスクセクターサイズで機能するデータ構造とアルゴリズムを備えているため、基礎となる物理ディスク情報をチェックします。

4k(4096)を超える物理セクターサイズを使用しようとすると、エラーが発生します。

Msg 5179, Level 16, State 1, Line 1
Cannot use file 'S:\Folder\TestDB.mdf ', because it is on a volume with sector size 8192.
SQL Server supports a maximum sector size of 4096 bytes.
Move the file to a volume with a compatible sector size.

この場合、エラーメッセージが最大セクターサイズが4096(4k)であることを明確に示していることがわかります。つまり、ボリュームはSQL Serverに使用できず、前述のようにWindowsでもサポートされません。

解決

このエラー/問題が発生した場合、残念ながら、512バイトや4kなどのサポートされているディスクセクターサイズを使用する必要があります。その他の形式はサポートされておらず、使用できません。使用するディスクサブシステムについては、ハードウェアベンダーに問い合わせて、他のオプションがあるかどうかを確認する必要があります。

eckes がコメントで言及されているように、Linuxでは、4.14カーネルでlosetup -bの新しい論理ブロックサイズオプションを使用して8kドライブをエミュレートできます。

15
Sean Gallardy