5. Juni 2007 09:02
Ob es mit dem Problem zusammenhängt, kann ich allerdings nicht sagen!
Ich denke schon! Hängst auch davon ab, auf wieviele DAteien die DB verteilt ist.
NAV benötigt den freien Platz zur Abbildung/Steuerung des Versionsprinzips:
Greift ein Benutzer/Prozess auf einen Datensatz zu, so wird von diesem ein "Snapshot" erstellt, soz. die benutzereigene "Version".
Werden nun Änderungen an dieser Version vorgenommen, so werden die betroffenen Datenblöcke in freie Blöcke kopiert; dort werden dann die Änderungen vollzogen. Die originalen Blöcke bleiben aber noch erhalten - für Versionen anderer Benutzer - solange bis ein COMMIT erfolgt.
Beim COMMIT werden die originalen Blöcke ungültig, statt dessen wird auf die neuen verwiesen. Die neue/geänderte "Version" wird damit zur Ausgangsversion für folgende Snapshots.
Daher sollte man - je nach Transaktionsvolumen - ca. 30% freien Platz verfügbar haben.
Ein weiterer Nebeneffekt des Versionsprinzips ist, dass die DB dabei rel. stark fragmentiert und daher regelmäßig mit dem "Optimzer" bereinigt werden sollte.
(P.S.: Betrifft ausschließlich native DB; SQL Server kennt kein Versionsprinzip)