Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何更改SQL Server的页面大小?_Sql Server_Database_Sql Server 2008 - Fatal编程技术网

Sql server 如何更改SQL Server的页面大小?

Sql server 如何更改SQL Server的页面大小?,sql-server,database,sql-server-2008,Sql Server,Database,Sql Server 2008,每 在SQL Server中,页面大小为8KB。这意味着SQL Server数据库 每兆字节有128页 如何更改页面大小,例如更改为4KB或12KB等? 另外,页面大小选择为8KB是否是由于“固有的硬件限制” 或者8KB仅仅是根据启发式方法选择的一个足够好的任意数字,用于优化大多数用例?SQL Server不允许更改页面大小-它是一个固定大小的8k页面,具有固定大小的标题/数据节。1)8KB页面只是一个遗留问题。我不认为有任何“好”的理由来限制8KB的页面大小,但改变它可能需要微软的巨大投资,而

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

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

另外,页面大小选择为8KB是否是由于“固有的硬件限制”


或者8KB仅仅是根据启发式方法选择的一个足够好的任意数字,用于优化大多数用例?

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

1)8KB页面只是一个遗留问题。我不认为有任何“好”的理由来限制8KB的页面大小,但改变它可能需要微软的巨大投资,而且可能对客户来说升级道路很困难


2) 不行。更改它的选项将是一个非常好的功能,可能是一个早就应该进行的增强,但至少在几年内我们可能不会看到它。

简短回答:您不能更改它

出于寻址效率()和IO效率(请参阅)的原因,数据库页面大小必须是操作系统页面大小的几倍,这是由平台硬件体系结构驱动的。x86体系结构的页面大小为4k(请参阅上的侧栏或参阅),较新的体系结构提供了较大的页面,SQL Server利用这些页面进行内存分配,请参阅

由于数据库文件可移植性的原因,磁盘上的文件格式无法更改以适应现代CPU更大的页面,这将破坏在旧硬件上读取数据库的能力。经验表明,由于物理RAM碎片(处理器页必须映射到连续的硬件页),在操作系统启动后很快就很难分配1MB页。而且如此大的页面对WAL来说不太合适(请参见)。

2)-你不会-这是一个系统范围的硬编码设置,无法更改