SQL Server 2005 Transaktionsprotokoll kann nicht verkleinern, da Transkationen noch aktiv
Hallo SQL Server Gemeinde,
ich habe folgendes Problem mit meinem SQL Server 2005 Standard Sp2.
Das Transaktionsprotokoll ist mittlerweile größer als die eigentliche Datenbank.
Der Bericht Datenbankverwendung zeigt mir folgende Werte:
Datenbank: 13 GB
Transaktionsprotokoll: 19,5 GB
Gesamt: 32,5 GB
Als Backupverfahren verwende ich „Vollständig“
Leider läßt sich das Protokoll auch nicht verkleinern, da die Transaktionen in Protokoll noch als aktiv markiert sind.
Folgende Empfehlungen aus diversen Foren im Internet habe ich schon auf einer Testdatenbank versucht:
• Backup auf „Einfach“ gestellt.
• Transaktionsprotokoll extra gesichert.
• Shrinkfile …
• Backup log …
• Checkpoint manuell gesetzt
Das Problem ist immer wieder das gleiche. Der aktive Teil im Transaktionsprotokoll wird nicht auf inaktiv gesetzt. Somit kann ich das Protokoll nicht verkleinern oder abschneiden.
Nach langer Recherche im Internet und in der MSDN habe ich jetzt noch folgende mögliche Ursache herausgefunden.
use master
go
select * from sys.databases
In der sys.databases steht in den Spalten
log_reuse_wait = 6
log_reuse_wait_desc = REPLICATION
Ich vermute das das der Grund ist, warum er die Transaktionsprotokolle immer noch auf aktiv gesetzt hat. Deshalb kann ich die Protokolle auch nicht abschneiden. Der Server wartet möglicherweise immer noch auf die Replikation mit einer anderen Datenbank.
Das Beste an der Sache ist jedoch, dass niemals eine Replikation mit der Datenbank versucht wurde.
Also woher kommt die Einstellung und wie kann ich die Einstellung wieder ändern?
Wie kann ich die sys.databases Einträge ändern?
Ein normales update ist anscheinend nicht möglich?
Welche Tabellen stecken hinter der View sys.databases?
Kann das daran liegen, dass ich die Datenbank von SQL 7.0 auf SQL 2000 auf SQL 2005 portiert habe?
Auf SQL 2005 läuft sie mittlerweile ein gutes halbes Jahr ohne Probleme.
Weiterhin habe ich festgestellt, dass eine Transaktion nicht abgeschlossen ist.
use test
go
dbcc opentran
Mit folgender Meldung:
Transaktionsinformationen für die 'test'-Datenbank.
Replizierte Transaktionsinformationen:
Älteste verteilte LSN : (0:0:0)
Älteste nicht verteilte LSN : (460495:173:1)
Die DBCC-Ausführung wurde abgeschlossen. Falls DBCC Fehlermeldungen ausgegeben hat, wenden Sie sich an den Systemadministrator.
Wie kann ich die Transaktion abschließen oder löschen.
Ich denke dass alle Transaktionen nach dieser deshalb „aktiv“ bleiben und deshalb nicht abgeschnitten werden können.
Gibt es eine Abfrage, wie man erkennen kann seit wann die Transaktion hängt?
Gibt es eine Abfrage, wie man erkennen kann welche Transaktion hängt und was das hängen verursacht hat?
Was sagen mir die Zahlen LSN : (460495:173:1)?
Fragen über Fragen, wer weiß eine Antwort?
Die Zeit drängt, da die Backups und Restores mittlerweile zu lange dauern. Wir bekommen auch Timeouts von den Clients. Ich denke das sind Folgefehler durch zu langes schreiben und warten auf das zu große Transaktionsprotokoll.
Danke im Voraus für die Hilfe.
Grüße Rene
ich habe folgendes Problem mit meinem SQL Server 2005 Standard Sp2.
Das Transaktionsprotokoll ist mittlerweile größer als die eigentliche Datenbank.
Der Bericht Datenbankverwendung zeigt mir folgende Werte:
Datenbank: 13 GB
Transaktionsprotokoll: 19,5 GB
Gesamt: 32,5 GB
Als Backupverfahren verwende ich „Vollständig“
Leider läßt sich das Protokoll auch nicht verkleinern, da die Transaktionen in Protokoll noch als aktiv markiert sind.
Folgende Empfehlungen aus diversen Foren im Internet habe ich schon auf einer Testdatenbank versucht:
• Backup auf „Einfach“ gestellt.
• Transaktionsprotokoll extra gesichert.
• Shrinkfile …
• Backup log …
• Checkpoint manuell gesetzt
Das Problem ist immer wieder das gleiche. Der aktive Teil im Transaktionsprotokoll wird nicht auf inaktiv gesetzt. Somit kann ich das Protokoll nicht verkleinern oder abschneiden.
Nach langer Recherche im Internet und in der MSDN habe ich jetzt noch folgende mögliche Ursache herausgefunden.
use master
go
select * from sys.databases
In der sys.databases steht in den Spalten
log_reuse_wait = 6
log_reuse_wait_desc = REPLICATION
Ich vermute das das der Grund ist, warum er die Transaktionsprotokolle immer noch auf aktiv gesetzt hat. Deshalb kann ich die Protokolle auch nicht abschneiden. Der Server wartet möglicherweise immer noch auf die Replikation mit einer anderen Datenbank.
Das Beste an der Sache ist jedoch, dass niemals eine Replikation mit der Datenbank versucht wurde.
Also woher kommt die Einstellung und wie kann ich die Einstellung wieder ändern?
Wie kann ich die sys.databases Einträge ändern?
Ein normales update ist anscheinend nicht möglich?
Welche Tabellen stecken hinter der View sys.databases?
Kann das daran liegen, dass ich die Datenbank von SQL 7.0 auf SQL 2000 auf SQL 2005 portiert habe?
Auf SQL 2005 läuft sie mittlerweile ein gutes halbes Jahr ohne Probleme.
Weiterhin habe ich festgestellt, dass eine Transaktion nicht abgeschlossen ist.
use test
go
dbcc opentran
Mit folgender Meldung:
Transaktionsinformationen für die 'test'-Datenbank.
Replizierte Transaktionsinformationen:
Älteste verteilte LSN : (0:0:0)
Älteste nicht verteilte LSN : (460495:173:1)
Die DBCC-Ausführung wurde abgeschlossen. Falls DBCC Fehlermeldungen ausgegeben hat, wenden Sie sich an den Systemadministrator.
Wie kann ich die Transaktion abschließen oder löschen.
Ich denke dass alle Transaktionen nach dieser deshalb „aktiv“ bleiben und deshalb nicht abgeschnitten werden können.
Gibt es eine Abfrage, wie man erkennen kann seit wann die Transaktion hängt?
Gibt es eine Abfrage, wie man erkennen kann welche Transaktion hängt und was das hängen verursacht hat?
Was sagen mir die Zahlen LSN : (460495:173:1)?
Fragen über Fragen, wer weiß eine Antwort?
Die Zeit drängt, da die Backups und Restores mittlerweile zu lange dauern. Wir bekommen auch Timeouts von den Clients. Ich denke das sind Folgefehler durch zu langes schreiben und warten auf das zu große Transaktionsprotokoll.
Danke im Voraus für die Hilfe.
Grüße Rene
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 79348
Url: https://administrator.de/forum/sql-server-2005-transaktionsprotokoll-kann-nicht-verkleinern-da-transkationen-noch-aktiv-79348.html
Ausgedruckt am: 15.04.2025 um 16:04 Uhr
2 Kommentare
Neuester Kommentar
Hallo Rene,
hast Du schon mal probiert: (in Schritten)
1. Backup auf einfach stellen
2. Datenbank unter alle Tasks verkleinern von Datei auswählen
3. Danach öffnet sich ein Fenster bei Datei auf Protokoll stellen und ok
4. nachschauen ob das Protkoll nun kleiner ist
5. Backup wieder auf vollständig stellen
6. Vollbackup der Datenbank ausführen
7. Transactionsprotokoll sichern
Ich hoffe das es Funktioniert.
Gruß Maik
hast Du schon mal probiert: (in Schritten)
1. Backup auf einfach stellen
2. Datenbank unter alle Tasks verkleinern von Datei auswählen
3. Danach öffnet sich ein Fenster bei Datei auf Protokoll stellen und ok
4. nachschauen ob das Protkoll nun kleiner ist
5. Backup wieder auf vollständig stellen
6. Vollbackup der Datenbank ausführen
7. Transactionsprotokoll sichern
Ich hoffe das es Funktioniert.
Gruß Maik