abraham84
Goto Top

SQL Server Datenbank kann nicht weiter wachsen

Servus Gemeinde,

ihr seid meine letzte Hoffnung.

Unser SQL Server ist leider noch auf Microsoft Server 2008 R2 mit NTFS Dateisystem, virtualisiert auf Esxi. Die Datenbank liegt auf der Systempartition. Die Datenbankdatei hat 607GB.
Ich habe das Problem, dass die SQL Datenbank nun nicht mehr automatisch weiter wachsen kann aufgrund einer Dateisystembeschränkung. Normalerweise nimmt der SQL Server sich ja bei Bedarf Platz den frien Platz von der Festplatte und vergrößert die Datenbankdatei automatisch, dies funktioniert nun nicht mehr und wird mit der Fehlermeldung "operating system error 665(Der angeforderte Vorgang konnte aufgrund einer Dateisystembeschränkung nicht abgeschlossen werden)" encountered.
Das führt natürlich dazu, dass ich keine Daten mehr in die Datenbank schreiben kann.

Nun habe ich in diversen Artikeln nachgelesen, dass dies ein Problem von NTFS sein kann. Eine Datei soll demnach nicht weiter wachsen können, wenn es einen bestimmten Grad der Fragmentierung erreicht hat. Laut dem Defragmentierungstool "Contig" welches in diesem Fall empfohlen wird, habe die Datei "databasa.mdf" Datei 1.880.382 Fragmente, was sich aus meiner Sicht nach viel anhört. Ich habe die dAtenbank dann offline genommen, SQL Server beendet und versucht mit der dem Programm contig zu defragmentieren. Leider komme ich in einer Fehlermeldung, dass nicht genügend freier Speicherplatz vorhanden sei, obwohl 900 GB frei sind.

Hat noch irgendjemand eine Idee?

VG

Content-ID: 4305997964

Url: https://administrator.de/contentid/4305997964

Ausgedruckt am: 09.11.2024 um 01:11 Uhr

Abraham84
Abraham84 16.10.2022 um 18:53:53 Uhr
Goto Top
Ergänzung: Versuche gerade die Systempartition mit dem Windows eigenen Defragmentierungstool zu defragmentieren. Läuft schon knapp 24 Stunden bei einer 1,5TB Festplatte und zeigt an "Erfolgreich 1: 0% konsolidiert"....
2423392070
2423392070 16.10.2022 um 19:24:58 Uhr
Goto Top
Hast Du Mal an partitionieren von Tabellen gedacht?

Wir machen das so.
Abraham84
Abraham84 16.10.2022 um 20:01:06 Uhr
Goto Top
Erstmal noch nicht, würde jetzt zunächst mal gerne das System wieder ans laufen bekommen...
CH3COOH
CH3COOH 16.10.2022 aktualisiert um 20:07:36 Uhr
Goto Top
N’Abend,

Edit:
Gerade ehelosen das du noch Platz frei hast… dachte deine Platte wäre voll..

Eventuell ist es eine Option einfach (sofern du mehr Platz hast) diesen in einem leeren Ordner bereitzustellen?

Auf diesem Wege könntest du relativ einfach die Datenbank vorher offline nehmen, verschieben und dann in dem neuen Volumen wieder bereitstellen.

https://www.andysblog.de/windows-mehrere-laufwerke-in-einem-ordner-oder- ...

Gruß
em-pie
em-pie 16.10.2022 um 20:10:09 Uhr
Goto Top
Moin,

Um welche SQL-Server-Version handelt es sich eigentlich?
Deine DB läuft ja bisweilen auf einem Windows Server 2008 R2…

Prüfe mal, ob dein Problem auch mit einem 2017er oder 2019er SQL bestehen würde…
Abraham84
Abraham84 16.10.2022 aktualisiert um 21:11:12 Uhr
Goto Top
@CH3COOH

Auf dem Produktivserver habe ich nur noch 60GB an freien Festplattenspeicherplatz. Da ich zunächst dachte Contig wären die 60GB freier Speicherplatz zu wenig habe ich den Server geclont und auf ein anderes Storage kopiert. Dort hatte ich dann entsprechend mehr Speicher zur Verfügung jedoch kam die gleiche Fehlermeldung, dass zu wenig Speicherplatz auf der Platte sei um zu defragmentieren.

Ich verstehe deinen Vorschlag ehrlich gesagt nicht so ganz genau. Was möchte man damit bezwecken?


@em-pie: Es ist leider auch ein SQL Server 2008 R2.

Lässt sich ggfls durch das Hin und Her Kopieren der Datenbankdatei die Anzahl der Fragmente verringern? Ich hatte die Datei auf eine leere USB Platte kopiert und festgestellt, dass dann die Datei aus einem Fragment bestand. Also könnte das ja eigentlich auch in die andere Richtung funktionieren, wenn ich die Daten auf dem Server lösche und nochmal kopiere vom USB Laufwerk?
Abraham84
Lösung Abraham84 17.10.2022 aktualisiert um 14:42:57 Uhr
Goto Top
UPDATE: Konnte das Problem nun lösen.
Habe von der Datenbank ein Backup gezogen, die Datenbank dann im SQL gelöscht und anschließend über das Backup wiederhergestellt. Datenbank ist zwar immernoch ziemlich fragmentiert aber über 50% weniger als vorher.

Da sowieso ein Serverumzug ansteht lassen wir es so nun laufen bis wir alles auf SQL2019 umziehen.

Danke für eure Hilfe
ukulele-7
ukulele-7 18.10.2022 aktualisiert um 09:33:41 Uhr
Goto Top
Am 04.11.2022 erscheint SQL 2022, ist eventuell eine Alternative.
Abraham84
Abraham84 19.10.2022 um 15:26:35 Uhr
Goto Top
JA, da wir sowieso neu aufsetzen könnte man gleich 2022 nehmen....wobei ich noch nicht weiß in wie weit die Kompatiblität mit unserer CRM Software ist.