MasterOfDesaster
Neuer Benutzer
- Beiträge
- 3
Hallöchen.
Ich hab ein Mittelschweres Problem mit unserem SQL-Express-Server, der von einem externen Dienstleister in Kombination mit Acronis Backup & Recovery installiert wurde. Eine der Datenbanken hat die 4 GB-Grenze geknackt.
Die Backup-Software sichert zwar noch und gibt mir die Bestätigungs-Mails raus... aber es wird nix mehr korrekt angezeigt, da die Sicherungs-Events nicht in der DB abgelegt werden können.
Ich hab keinerlei Erfahrung mit SQL und unser "Experte" ist derzeit 3 Wochen in Urlaub. Hab mich also rein gelesen und einige Tipps im Netz entdeckt. Doofer Weise wird jeder Versuch die Datenbank zu schrumpfen mit einem Fehler quittiert.
Bsp, ein Befehl aus dem Netz, der betroffene Tabellen eigentlich verkleinern sollte:
Ergebnis:
(60007 rows affected) Msg 9002, Level 17, State 4, Server SVFIWAHABU01\ACRONIS, Line 1
The transaction log for database ‘acronis_cms_cards’ is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases
Auch der Befehl:
... wird mit einem Fehler quittiert.
Jetzt bin ich schon dabei eine der sehr vollen Tabellen (mehr als 100k Zeilen) manuell zu leeren.
Doch die zweite lässt sich auch so nicht ändern, statt dessen gibts die Meldung:
"Es wurden keine Zeilen gelöscht. Beim Versuch, Zeile 1 zu löschen, ist ein Problem aufgetreten. Fehlerquelle: .Net SqlClient Data Provider.
Fehlernachricht: Timeout ist abgelaufen. Das Zeitlimit wurde vor dem Beenden des Vorgangs überschritten oder der Server reagiert nicht.
Korrigieren Sie die Fehler, und versuchen Sie erneut, die Zeile zu löschen, oder drücken Sie die ESC-Taste, um die Änderun(en) abzubrechen."
Hat jemand eine Idee, wie ich die zweite Tabelle leeren kann? Ich hab da im Hinterkopf die Idee, einfach die Tabelle zu löschen und neu anzulegen. Aber das trau ich mich dann doch irgendwie nicht.
Ich hab ein Mittelschweres Problem mit unserem SQL-Express-Server, der von einem externen Dienstleister in Kombination mit Acronis Backup & Recovery installiert wurde. Eine der Datenbanken hat die 4 GB-Grenze geknackt.
Die Backup-Software sichert zwar noch und gibt mir die Bestätigungs-Mails raus... aber es wird nix mehr korrekt angezeigt, da die Sicherungs-Events nicht in der DB abgelegt werden können.
Ich hab keinerlei Erfahrung mit SQL und unser "Experte" ist derzeit 3 Wochen in Urlaub. Hab mich also rein gelesen und einige Tipps im Netz entdeckt. Doofer Weise wird jeder Versuch die Datenbank zu schrumpfen mit einem Fehler quittiert.
Bsp, ein Befehl aus dem Netz, der betroffene Tabellen eigentlich verkleinern sollte:
Code:
osql -E -S .\ACRONIS -d acronis_cms_cards -Q "DELETE FROM
IncomingCardsLog; DELETE FROM SyncWorkersResults; DELETE FROM SyncWorkersLog;
DBCC SHRINKDATABASE(N'acronis_cms_cards')"
Ergebnis:
(60007 rows affected) Msg 9002, Level 17, State 4, Server SVFIWAHABU01\ACRONIS, Line 1
The transaction log for database ‘acronis_cms_cards’ is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases
Auch der Befehl:
Code:
USE [Acronis_cms_cards]
DECLARE @ TableName varchar (255)
DECLARE cursor CURSOR FOR table
SELECT table_name FROM INFORMATION_SCHEMA.TABLES
WHERE table_type = 'base table'
OPEN cursor table
FETCH NEXT FROM table cursor INTO @ TableName
WHILE @ @ FETCH_STATUS = 0
BEGIN
DBCC DBREINDEX (@ TableName, '', 90)
FETCH NEXT FROM table cursor INTO @ TableName
END
CLOSE cursor table
DEALLOCATE cursor table
USE [Acronis_cms_cards]
go
dbcc shrinkdatabase ('Acronis_cms_cards' NOTRUNCATE)
go
dbcc shrinkdatabase ('Acronis_cms_cards' TRUNCATEONLY)
Jetzt bin ich schon dabei eine der sehr vollen Tabellen (mehr als 100k Zeilen) manuell zu leeren.
Doch die zweite lässt sich auch so nicht ändern, statt dessen gibts die Meldung:
"Es wurden keine Zeilen gelöscht. Beim Versuch, Zeile 1 zu löschen, ist ein Problem aufgetreten. Fehlerquelle: .Net SqlClient Data Provider.
Fehlernachricht: Timeout ist abgelaufen. Das Zeitlimit wurde vor dem Beenden des Vorgangs überschritten oder der Server reagiert nicht.
Korrigieren Sie die Fehler, und versuchen Sie erneut, die Zeile zu löschen, oder drücken Sie die ESC-Taste, um die Änderun(en) abzubrechen."
Hat jemand eine Idee, wie ich die zweite Tabelle leeren kann? Ich hab da im Hinterkopf die Idee, einfach die Tabelle zu löschen und neu anzulegen. Aber das trau ich mich dann doch irgendwie nicht.