Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL-Server - Protokoll ist aufgrund von ACTIVE_TRANSACTION voll

Hier ist, was ich letztendlich getan habe, um den Fehler zu umgehen.

Zuerst richte ich das Datenbankwiederherstellungsmodell als EINFACH ein. Weitere Informationen hier .

Dann konnte ich durch das Löschen einiger alter Dateien 5 GB freien Speicherplatz schaffen, was der Protokolldatei mehr Platz zum Wachsen gab.

Ich habe die DELETE-Anweisung erfolgreich ohne Warnung erneut ausgeführt.

Ich dachte, dass durch Ausführen der DELETE-Anweisung die Datenbank sofort kleiner werden würde, wodurch Speicherplatz auf meiner Festplatte frei würde. Aber das stimmte nicht. Der nach einer DELETE-Anweisung freigegebene Speicherplatz wird nicht sofort an das Betriebssystem zurückgegeben, es sei denn, Sie führen den folgenden Befehl aus:

DBCC SHRINKDATABASE (MyDb, 0);
GO

Weitere Informationen zu diesem Befehl hier .