In letzter Zeit habe ich nicht nur Dateien vergrößert, wenn sie fast 80% der Dateien ausgelastet sind, sondern auch proaktiver Speicherplatz mithilfe der üblichen Tricks wie Defragmentieren von Heaps, Hinzufügen und Löschen von Clustered-Indizes, Implementieren der Zeilen- oder Seitenkomprimierung usw. zurückgewonnen.
Es gibt jedoch einige Fälle, in denen ich durch Ausführen von DBCC CLEANTABLE noch mehr Speicherplatz zurückgewinnen konnte . Bei Hunderten von Datenbanken in meiner Umgebung ist es nicht möglich zu wissen, was Benutzer in den einzelnen Datenbanken tun, und es ist völlig akzeptabel, dass Änderungen vorgenommen werden, bei denen Spalten mit fester Länge gelöscht werden. Ich habe diese Möglichkeiten normalerweise gefunden, indem ich mir die Anzahl der Zeilen und Seiten in einigen von mir geschriebenen Skripten zur Nutzung des Objektbereichs angesehen habe. Ich möchte noch einen Schritt weiter gehen und versuchen, die Erkennung solcher Szenarien zu automatisieren.
Was ich gerne wissen würde, ist, ob jemand da draußen aktiv nach solchen Möglichkeiten sucht und wenn ja, wonach suchen Sie konkret?
Meine Gedanken waren, etwas in die Richtung zu schreiben, wie die maximale und minimale Größe einer Zeile, die Anzahl der Zeilen in der Tabelle, die Anzahl der zugewiesenen Seiten und die Anzahl der verwendeten Seiten erfasst werden, und dann einige grundlegende Berechnungen durchzuführen, um die Ergebnisse zu protokollieren sind weit außerhalb dessen, was "erwartet" werden würde.