Das Defragmentieren von SQL Server-Daten und -Protokolldateien erfolgt live mit der MoveFile-API

11

Mein Arbeitgeber möchte eine NTFS-Defragmentierungssoftware bereitstellen, die die Windows MoveFile-API zum Defragmentieren offener Dateien verwendet. Dies würde auf Tausenden von SQL Server-Servern bereitgestellt, auf denen SQL-Versionen von 2005 bis 2012 und Windows-Versionen von 2003 und 2008 R2 ausgeführt werden. Wenn es darauf ankommt, ist das Produkt, über das ich spreche, PerfectDisk, aber ich glaube, es gibt ähnliche Programme, die auf die gleiche Weise funktionieren.

Das Testen hat bisher nicht viele Probleme ergeben, abgesehen von gelegentlichen Problemen mit der E / A-Leistung. Dies ist keine Überraschung und kann durch Neuplanung und Optimierung der Defragmentierung umgangen werden. Ich bin jedoch mehr besorgt über das Risiko einer Datenkorruption.

Hat hier jemand Erfahrung mit der Ausführung dieser Art von Software in der Produktion auf Datenbankservern? Haben Sie Datenbeschädigungen festgestellt?

Ich bin ziemlich besorgt darüber, obwohl ich keine soliden Beweise dafür finden kann, dass es ein Problem darstellt.

Vielen Dank für alle Antworten.

Bearbeitet, um hinzuzufügen: Diese schreckliche Idee wurde zum Glück einfach vergessen, möglicherweise teilweise aufgrund einiger der Warnungen, die ich gab.

James L.
quelle
2
Ich würde fragen, wie SQL Server-Festplatten so fragmentiert wurden. Durch eine ordnungsgemäße Planung und Raumverwaltung ist die Fragmentierung kein Problem.
SqlACID

Antworten:

10

Persönlich möchte ich keine Antiviren- oder Defragmentierungssoftware in der Nähe einer Datenbankdatei. Fragen Sie sich, wird dies mehr Probleme verursachen als lösen?

Aus einer Geschichte von CHECKDB-Fehlern, die durch Dateisystemtreiber von Drittanbietern verursacht wurden :

Ende letzter Woche wurde Diskeeper 2009 von unserem Serverteam auf den Servern auf Diskeeper 2010 aktualisiert. Diskeeper 2009 war seit mindestens einem Jahr ohne Probleme dort, also wer hätte erwartet, dass es das Problem sein würde. Es stellte sich heraus, dass in der neuen Version eine Option namens IntelliWrite aktiviert ist, die dieses Problem verursacht. Durch sofortiges Deaktivieren dieser Option wird das Problem behoben. Paul hat vor langer Zeit über dieses Problem gebloggt und sich daran erinnert, dies gelesen zu haben, als ich darauf geklickt habe, aber es war das Letzte, woran ich gedacht hätte.

Von Beware Dateisystemtreiber von Drittanbietern mit DBCC CHECKDB

Ich möchte hier nicht "Wolf" weinen, aber seien Sie vorsichtig, wenn Sie dem echten E / A-Subsystem massive Korruptionsprobleme zuschreiben, wenn irgendeine Art von Dateisystemfiltertreiber installiert ist.

Bei ordnungsgemäßer Planung und Verwaltung sollten Sie Ihre Datenbankdateien nicht defragmentieren müssen.

Mark Storey-Smith
quelle
4
+1 Defragmentierung auf Dateiebene für SQL bellt definitiv den falschen Baum ... Und das Durcheinander mit Dateien unter SQL ist wie das Tragen eines roten Ziels und eines Callouts "Verderbe mich hier" ...
Remus Rusanu
Danke Mark und Remus. Genau das suche ich. Ich werde sehen, was ich mir sonst noch einfallen lassen kann.
James L
1
MS hat auch eine Warnung hier veröffentlicht: support.microsoft.com/kb/2454053
James L