Nebenbei, wenn man sich die Datenbank selber hosten will und nur die limitierte kostenlose Version hat, dann ist man ein Stück weit selber Admin genug um regelmäßig zu gucken ob man nicht am 10GB Limit kratzt, genauso wie immer genug Festplatten/SSD-Speicher frei sein muss und genug RAM. Etliche Software in der Welt da draußen prüft das nicht extra selber bei jedem Schreibvorgang.
Wenn JTL das umsetzen wollte, dann müssten sie vor jedem UPDATE Befehl prüfen ob genug Platz ist, da muss man aber vor der Routine wissen wieviel Platz die ganzen UPDATE Änderungen benötigen und das bevor man sie ausführt.
Das wäre so sinngemäß:
SQL:
-- Variablen für die Speicherplatzprüfung
DECLARE @AvailableSpaceMB INT;
DECLARE @RequiredSpaceMB INT = 100; -- Benötigter Speicherplatz in MB
-- Verfügbaren Speicherplatz in der PRIMARY Dateigruppe ermitteln
EXEC sp_executesql N'
SELECT @AvailableSpaceMB = (size * 8 / 1024)
FROM sys.master_files
WHERE type = 0 AND data_space_id = 1',
N'@AvailableSpaceMB INT OUTPUT',
@AvailableSpaceMB OUTPUT;
-- Prüfen, ob genügend Speicherplatz vorhanden ist
IF @AvailableSpaceMB >= @RequiredSpaceMB
BEGIN
-- Update-Skript ausführen
PRINT 'Genügend Speicherplatz vorhanden. Update wird ausgeführt.';
-- Dein Update-Skript hier einfügen
END
ELSE
BEGIN
-- Warnung ausgeben
PRINT 'Nicht genügend Speicherplatz vorhanden. Update wird abgebrochen.';
END
Und das in eine Stored Procedure oder so packen damit es für jeden UPDATE Befehl ausgeführt wird.
Dann wird aber wohl jede kleine Änderung in der Datenbank, in deiner Meldung waren es mindestens 5 UPDATE vorher geprüft, aber was wenn die ersten 4 klappen und es beim 5. knallt?
Und es werden dann wohl wegen der extra Prüfung alle Änderungen um ein vielfaches langsamer ausgeführt, auch für die Händler mit einer höheren SQL Server Version. Und dann hätte man erfolgreich auch den letzten JTL-Nutzer vergrault. Und wenn das jede Software so machen würde obwohl die Crux auf der Ebene des Datenbankserver liegt, na dann würde die Welt stillstehen.
---------------------
Wohl aber stimme ich zu dass das Exception Handling verbessert werden könnte um nicht komplett abzuschmieren und auch in dem C# Form jegliche Warnung/Fehler Popups eine maximale Fenstergröße haben, z.B. max. 80% der Display Auflösung, damit man sie schließen kann, und mit Scrollbar und Zeilenumbruch angeschaltet, dann ist das auch da wenn nötig.