1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

4GB Datebank bei SQL-Express 2005 Server

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von MasterOfDesaster, 5 August 2011.

  1. MasterOfDesaster

    MasterOfDesaster Neuer Benutzer

    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:
    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)
    ... 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.
     
  2. ukulele

    ukulele Datenbank-Guru

    Walter gefällt das.
  3. MasterOfDesaster

    MasterOfDesaster Neuer Benutzer

    Ich schau es mir mal an, ich dank dir schon mal für die Antwort.

    Die Seite von freak-search hatte ich auch schon in der Hand.... ist ja nun nicht so das ich mich seit Montag damit rum ärger, Google wälze um SQL-Befehle zu verstehen und im Acronis-Forum rum schreibe, wo sich keiner drauf rührt.

    Aber bei mir ist es das selbe Problem wir in dem von dir geposteten Beispiel:
    Sicherungsmodell steht auf Simpel, im Auswahlfeld der Datenbank ist es auch bei mir auch die Datenbank statt dem erhofften Protokoll.
    Und mit dem Droppen weiß ich ebenfalls nix anzufangen so recht.
     
  4. ukulele

    ukulele Datenbank-Guru

    Ich denke mal das prinzipiell auch ein Table Drop infrage kommt, aber vermutlich wird der eine Befehl genauso mit der vollen Transaktionsdatei straucheln. Hast du mal probiert eine Datensicherung wieder einzulesen? Im besten Fall ist ja nur das Reporting von Acronis betroffen.
     
  5. MasterOfDesaster

    MasterOfDesaster Neuer Benutzer

    Jep ist nur die Anzeige selbst betroffen, die nicht die Bohne mehr aktuell ist. Wie gesagt bekomm ich ja auch die Meldungen, wenn richtig gesichert wurde bzw eher nicht, weil die Platte voll ist *G* soll mal vorkommen wenn die Mitarbeiter Schadensfotos in Spiegelreflex-Qualität aufn Servr packen ohne sie vorher kleiner zu machen... Sieht aber nichts desto trotz doof aus wnen der Chef rein guckt und eine Aktion angeblich 13 Tage nicht gelaufen ist bzw seit mehreren Tagen bei dauerhaft 14% Taskablauf steht (obwohl bereits abgeschlossen).
     

Diese Seite empfehlen