我即将在 Windows Server 2012 上设置 SQL Server 2014。从驱动器的最佳性能开始,我使用 64k 分配单元大小格式化驱动器。现在我被困在使用 Diskpart 来设置完美的偏移量。据我了解,我有 63 个隐藏扇区,为了将其与我的格式对齐,我可以使用 1024k 的偏移量,我做对了吗?无论如何,当我之后列出我的分区时,我得到这个结果:

Disk partition

使用命令行 wmic partition get BlockSize, StartingOffset, Name, Index

我得到的起始偏移量为 135266304

有些网站/博客推荐 32K,另一些则推荐 2012 年 1K,我可以相信谁?目前我在正确理解它时遇到问题。愿原力(你)启发我吗?

有帮助吗?

解决方案

Windows Server 2008 及更高版本将具有开箱即用的新分区。

知识库 929491 已记录 2,048 个扇区(1 兆字节)的起始偏移量 - 其中涵盖 最多 SAN。

Kendal van Dyke 做了一些测试 这里.

结果表明,对于 RAID 10 阵列上的 OLTP 数据库,最佳配置是 64 KB RAID 条带、64 KB 分区偏移和 64 KB 分配单元大小。

只是为了未来的读者, dbatools.io 有一个功能 测试-DbaDiskAlignment.ps1

注意事项:
当使用任何内置工具进行轮询时,动态驱动器(或通过第三方软件配置的驱动器)可能会或可能不会获得准确的结果,请咨询您的供应商了解详细信息。Windows 没有可靠的方法来确定条带单元大小。这些值是从供应商磁盘管理软件或 SAN 管理员处获取的。Windows Server 2008之前版本的系统驱动器无法对齐,但一般不建议将SQL Server数据库放置在系统驱动器上。

参考: SQL Server 磁盘分区对齐最佳实践

其他提示

出于价值考虑,我仅在生产或 UAT 环境中使用 64K 分配单元大小,并且如果我有一个带有 SAN 的集群,其中有一个用于数据文件的 LUN、另一个用于日志文件的 LUN 以及另一个用于日志文件的 LUN。至少是 TEMPDB 文件。

其他考虑因素是,如果您的环境只有一个磁盘并且这是操作系统磁盘,请保持分配单元大小不变。如果您尝试在操作系统磁盘之外的不同磁盘上安装 SQL Server 2014,也许在该磁盘中,64K 分配单元大小会获得更好的性能,但请考虑性能和维护方面的最佳实践:您最多可以将数据文件、日志文件和 TEMPDB 文件分离在不同的磁盘上。这是来自 SQL Server 产品组这篇博客文章中的建议: http://blogs.technet.com/b/dataplatforminsider/archive/2012/12/19/disk-and-file-layout-for-sql-server.aspx

查看 Brent Ozar 的 SQL Server 设置清单。4.1 节介绍了驱动器格式化和块大小。

来自 BrentOzar.com 的 SQL Server 设置清单

Section 4.1

许可以下: CC-BY-SA归因
不隶属于 dba.stackexchange
scroll top