9002: The transaction log for database is full due to ... (Transaktionslog der Datenbank ist voll wegen ...)
SQL ServerWas bedeutet das?
Die Transaktionslogdatei der Datenbank ist voll, und neue Transaktionen können nicht protokolliert werden. Die Datenbank lehnt Schreibzugriffe ab und kann sich wie schreibgeschützt verhalten.
Ursache
Keine Log-Backups im Recovery Model FULL, eine lange offene Transaktion, Replikations-/AlwaysOn-Verzögerung oder das Log kann nicht wachsen (Autogrow deaktiviert oder Platte voll). log_reuse_wait_desc zeigt den Grund.
Lösung
Prüfe log_reuse_wait_desc in sys.databases. Lautet er im Modell FULL LOG_BACKUP, erstelle ein Log-Backup (BACKUP LOG). Lautet er ACTIVE_TRANSACTION, finde die offene Transaktion und committe sie bzw. setze sie zurück (DBCC OPENTRAN). Schaffe Plattenplatz oder korrigiere die Autogrow-Einstellung der Logdatei. Ist das Log tatsächlich gewachsen, verkleinere es nach dem Backup mit DBCC SHRINKFILE. Brauchst du die Log-Kette nicht, überprüfe das Recovery Model.
Weitere Einträge zu dieser Datenbank
- 8152String or binary data would be truncated (String- oder Binärdaten würden abgeschnitten)
- 2628String or binary data would be truncated in table, column ...; truncated value (Daten würden in Tabelle/Spalte abgeschnitten; abgeschnittener Wert)
- 1222Lock request time out period exceeded (Timeout der Sperranforderung überschritten)
- 1105Could not allocate space for object in database because the filegroup is full (kein Platz für Objekt, da die Dateigruppe voll ist)
- 208Invalid object name (ungültiger Objektname)
- 229The SELECT/EXECUTE permission was denied on the object (SELECT-/EXECUTE-Berechtigung für das Objekt verweigert)
- 4060Cannot open database requested by the login. The login failed (vom Login angeforderte Datenbank kann nicht geöffnet werden; Anmeldung fehlgeschlagen)