sql-server – SQL数据库物理文件碎片
我知道作为一名DBA,我真的需要关注三种碎片:
> SQL数据文件中的索引碎片,包括聚簇索引(表)碎片.使用DBCC SHOWCONTIG(在SQL 2000中)或sys.dm_ db_ index_ physical_ stats(在2005中)来识别它. 索引碎片受到了很多关注(见Paul Randall的this excellent Serverfault answer),所以这不是我的问题的焦点. 我知道在最初通过规划合理的预期数据文件和日志大小来创建数据库时,我可以防止物理碎片(和VLF碎片),因为这种碎片最常发生在频繁增长和缩小的情况下,但我对如何修复有一些疑问物理碎片一旦被识别: >首先,物理碎片甚至与企业SAN相关吗?我可以/应该在SAN驱动器上使用Windows碎片整理程序,还是SAN团队应该使用内部碎片整理实用程序?在SAN驱动器上运行时,我从Windows工具获得的碎片分析是否准确? 更新:到目前为止,关于是否对SAN驱动器进行碎片整理(NO)以及是否在物理碎片驱动器上进行索引碎片整理仍然是一个很好的答案(是). 其他人都在关注实际进行碎片整理的最佳方法吗? 此外,如果任何人有关于通过修复物理碎片所做的SQL性能改进的任何轶事信息,那也会很棒. Mike’s blog post讨论了发现问题的方法,但并未具体说明它所取得的改进. 解决方法我认为本文概述了SAN驱动器的碎片整理http://www.las-solanas.com/storage_virtualization/san_volume_defragmentation.php 基本点是不建议在SAN存储上进行碎片整理,因为在呈现LUN时SAN已虚拟化位置时,很难关联磁盘上块的物理位置. 如果您使用的是RAW设备映射,或者您可以直接访问与您正在使用的LUN的RAID集,我可以看到degfragmentation具有正面效果,但如果您从共享RAID获得“虚拟”LUN – 5套,没有. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |