sys.dm_os_volume_stats 的 Incurs_seek_penalty 列

Dan*_*man 6 sql-server sql-server-2019

incurs_seek_penaltySQL Server 2019 sys.dm_os_volume_statsDMF 中引入了一个新列。这个tinyint 列目前没有记录

有没有人有关于此列中返回的枚举值的信息?我见过 0(裸机服务器)和 2(VM)的值。我很好奇这些值的含义以及可能返回的其他值。我的互联网搜索没有出现任何结果。

Jos*_*ell 6

现在正式记录在案,具有以下值:

指示支持此卷的存储类型。可能的值为:

0:此卷上无寻道惩罚,通常在存储设备为 PMM 或 SSD 时

1:在这个卷上寻求惩罚,通常是当存储设备是 HDD 时

2:当卷位于 UNC 路径或挂载共享时,无法确定存储类型

NULL:无法在 Linux 操作系统上确定存储类型

适用于: SQL Server(从 SQL Server 2019 (15.x) 开始)

看起来这与低级DEVICE_SEEK_PENALTY_DESCRIPTOR结构有关(感谢 LowlyDBA!) - 可能是为了检查驱动器是否为 SSD堆栈溢出讨论了该方法)。

了解有关存储的这些信息是否(或将要)被 SQL Server 使用(例如,用于更新的 I/O 成本估算,或存储引擎内部的性能优化)仍然很有趣。