我在 Internet 上进行了搜索,但没有找到明确的解释说明何时应该尝试对位于 SAN 上的数据库的物理数据库文件进行碎片整理。我知道一些 SAN 内部有一些工具和程序可以处理这个问题,但也有一些 SAN 缺乏这些功能。
我的问题有 3 个部分:
- 如何检查数据库文件的物理碎片?
- 如果文件位于 SAN 上,是否有必要这样做?
- 是否有必要创建更大的物理数据库文件以避免碎片?
我们使用租用的虚拟服务器。数据库正在增长,我们遇到了一些奇怪的问题。我想确保碎片整理不是问题。我也只是一般好奇。
我在 Internet 上进行了搜索,但没有找到明确的解释说明何时应该尝试对位于 SAN 上的数据库的物理数据库文件进行碎片整理。我知道一些 SAN 内部有一些工具和程序可以处理这个问题,但也有一些 SAN 缺乏这些功能。
我的问题有 3 个部分:
我们使用租用的虚拟服务器。数据库正在增长,我们遇到了一些奇怪的问题。我想确保碎片整理不是问题。我也只是一般好奇。
按顺序回答您的问题:
您可以通过转到驱动器,右键单击它并选择工具,然后进行碎片整理来检查磁盘的物理碎片。或接近于此,取决于您使用的操作系统版本,您的具体步骤可能会有所不同。但是您将只能看到卷级别的碎片,而不是特定文件。
在大多数情况下,不,如果您使用 SAN,则无需担心文件的物理碎片(除非 SAN 专门用于此目的)。由于大多数 SAN 的使用方式,您的 IO 将是随机的;这很好,因为你应该有很多主轴来分散负载。
较大的物理数据库文件可以防止碎片,但同样,如果您在 SAN 上,则不必担心这一点。更重要的是要确保当文件增长时,它会以设定的大小(而不是百分比)增长,并且该大小足以处理大量的增长。您可能希望在 X 天内将文件增加到您估计所需的大小,然后对卷进行碎片整理。
此链接 - Brent Ozar更详细地介绍了一些更多信息,您可以使用这些信息来证明或反驳 SAN 是造成瓶颈的原因。