我们如何更改SQL Server的页面大小?

Pac*_*ier 6 database sql-server sql-server-2008

MSDN,

在SQL Server中,页面大小为8 KB.这意味着SQL Server数据库每兆字节有128个页面.

我们如何更改页面大小,例如4 KB或12 KB等?

此外,是否由于" 先天硬件限制",页面大小选择为8 KB?

或者8 KB只是一个基于启发式选择的任意足够好的数字,以优化大多数用例?

Rem*_*anu 20

简短的回答:你无法改变它.

出于寻址效率(TLB)和IO效率的原因(请参阅使用Scatter-Gather方案读取或写入文件),数据库页面大小必须是OS页面大小的某个倍数,这是由平台硬件体系结构驱动的.x86体系结构的页面大小为4k(参见x86 Wiki文章的侧栏,或参考英特尔软件开发人员手册),较新的体系结构提供大页面,SQL Server利用它们进行内存分配,请参阅SQL Server和大页面说明.

出于数据库文件可移植性的原因,无法更改磁盘上的文件格式以适应现代CPU较大的页面,这会破坏在旧硬件上读取数据库的能力.经验表明,由于物理RAM碎片(处理器页面必须映射到连续的硬件页面),在OS启动后很快就会很难分配1MB页面.这样一个大页面不适合WAL(见ARIES).


And*_*rew 5

SQL Server不允许更改页面大小 - 它是一个固定的8k大小,具有固定大小的标题/数据部分.