• sql-lover (8/23/2013)


    I am sorry to disagree... but for a SAN with actual mdf and ldf files there, I see no reason to defrag, specially if we are talking about TBs of data. I know NTFS creates fragmentation and a SAN can be fragmented, that's true, I just believe there are other ways to fix or improve that, for example, picking the right RAID or improving the actual disk's pool or LUN design.

    This is a very controversial topic, but most modern SANs use a different technology and the actual file is all over the place using very complex algorithms, and let's not even talk about automated tier systems SANs. So the benefit of running a defrag is minimum.

    Having said that, I am aware that most SAN systems provide such defrag tools. So I would rely on my SAN admin or a SAN expert and ask him if he really recommends such task and if I will get a benefit or not.

    Then I agree to disagree. 😀 I've actually had good luck with improving performance, especially for batch jobs, by using products like DiskKeeper to defrag the SAN (specifically, MDF and LDF files) especially with today's rather large individual disks and especially since a lot of people made the mistake of using the default initial size and growth settings on the birth of the databases. Defragmentation was less important in the past when you had many more disks per TB because there were many more sets of R/W heads in play per TB. That's not true so much today.

    And, don't forget... behind every VM disk, there's hardware that can contain fragmentation and it's going to matter especially if the fragmentation is serious.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)