将 NTFS 分配单元大小设置为 64 KB - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将 NTFS 分配单元大小设置为 64 KB

SQL Server 中的原子存储单元是一个页面,大小为 8 KB。八个物理上连续的页面构成了一个数据区(大小为 64 KB)。SQL Server 使用数据区来存储数据。因此,在 SQL Server 计算机上,用于托管 SQL 数据库文件(包括 tempdb)的 NTFS 分配单位大小应为 64 KB。

要检查驱动器的集群(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:

下图显示了命令行的示例输出。每个集群的字节数值以字节为单位显示格式大小。示例输出显示了 4096 个字节。对于托管 SQL Server 数据库文件的驱动器,此值应为 64 KB。

Checking NTFS allocation size: output from the command line

在某些情况下,当您在 Amazon EC2 上使用 SSD 存储时,SQL Server 的性能并不取决于代码块的大小。有关更多信息,请参阅博客文章 SQL Server 存储的 64KB 代码块大小是否让 AWS 客户受益?