Serge 10 Geschrieben 14. Oktober 2003 Melden Teilen Geschrieben 14. Oktober 2003 Hallo, kann mir vielleicht einer sagen, warum nach einem wunderbaren detach einer Datenbank die Wiederherstellung mit attach nicht mehr geht ?????? Ich wollte doch nur das überdimensionale Logfile endlich loswerden. Es hieß Datenbank einfach exec sp_detach_db 'DATENBANK' und dann die Logfiles einfach löschen und das Datenfile mit Exec sp_attach_db 'DATENBANK' N'DATENFILENAME' wieder anschliessen. Habe es sogar dann mit dem Befehl sp_attach_single_file_db probiert, ging auch in die Hose. Kann mir vielleich jemand helfen ?? Merci Zitieren Link zu diesem Kommentar
auer 10 Geschrieben 14. Oktober 2003 Melden Teilen Geschrieben 14. Oktober 2003 Du hast was? Hoffentlich geht da nichts mehr, wenn man einfach eine Log-Datei löscht. Du hast hoffentlich noch eine gute Sicherung, falls nicht, ist die Datenbank ... im Eimer. Wenn Du ein Logfile verkleinern möchtest, dann sichere die Datenbank und verwende die entsprechenden ... ich glaube, truncate - Befehle - das steht alles in der Online-Hilfe. Und informiere dich dringend, was es mit den mindestens zwei Dateien pro logischer Datenbank auf sich hat, von denen Du eine gelöscht hast. In der Online-Hilfe findest Du bsp. den Punkt Sql-Server-Architektur - Datenbankarchitektur - Physische Datenbankarchitektur. [Edit] Das ist ungefähr so, wie wenn Du als Admin auf einem XP-Rechner deine NTLDR, NTDETECT.COM und BOOT.INI löschst und dich beim nächsten Rechnerneustart wunderst, weshalb der Rechner hängt. -------------- Gruß, Auer Zitieren Link zu diesem Kommentar
sfoc 10 Geschrieben 14. Oktober 2003 Melden Teilen Geschrieben 14. Oktober 2003 was man auch machen kann ist eine neue transaction log der db geben/zuweisen und die alte loeschen, aber vorher immer schoen sicher, regards Zitieren Link zu diesem Kommentar
Serge 10 Geschrieben 15. Oktober 2003 Autor Melden Teilen Geschrieben 15. Oktober 2003 Hallo Leute, meine Datenbank zieht sich die Daten über nacht mit einem ftp Script und liest Sie ein. Es ist nur eine read-only DB. Aber warum sollte das starten der DB ohne Log-File nicht gehen, sobald keine Aktionen darin gespeichert werden, ist mir das doch egal. In irgendeiner Beschreibung im Internet habe ich gelesen, das bei attach ohne Log-File vom SQL Server eine neue angelegt wird. http://www.experts-exchange.com/Databases/Microsoft_SQL_Server/Q_20651271.html Mein Problem ist jetzt folgendes, falls das mit dem Logfile stimmt. Ich kann diese Datenbank nicht mehr anlegen weil Sie offiziell existiert. Umbennenen kann ich eine andere auch nicht. Also nun ???? I need help Zitieren Link zu diesem Kommentar
auer 10 Geschrieben 15. Oktober 2003 Melden Teilen Geschrieben 15. Oktober 2003 Zur Frage, weshalb das Log nicht gelöscht werden kann, verweise ich auf die Sql-Server-Hilfe. Den Link habe ich mangels Reg nicht gelesen. Zum Problem des Logfiles: Sobald Daten geladen werden, wird dies erst im Log protokolliert und mit Prüfpunkt abgeschlossen, dann werden die Änderungen in die eigentliche Hauptdatenbank geschrieben. Da Du Daten einliest, füllt sich das Log. Du kannst allerdings mit der sp_dboption 'trunc. log on chkpt.' festlegen, daß das Protokoll ständig abgeschnitten wird, damit nicht zu groß wird - bei Online-Buchungssystemen wäre dies fahrlässig, beim einmaligen Dateneinlesen oder bei Testdatenbanken ist das problemlos. Die offizielle Hilfe gibt zum Problem einer solchen unterbrochenen sp_attach_db - Operation nichts her, ein Löschen der Datenbank wird wohl nicht funktionieren. Wenn ein Stop des NT-Dienstes nicht automatisch zu einem Rollback dieser Operation führt: Gab es irgendwelche weitergehenden Fehlermeldungen von sp_attach_db? Läßt sich die Datenbank erneut abtrennen, so daß Du die ftp-Daten in eine neue Datenbank einliest? Ansonsten fällt mir bloß noch ein, die DBCC - Funktionen anzuwenden, um die Datenbank in irgendeiner Form soweit reparieren zu lassen, daß sie gelöscht werden kann. ------------- Gruß, Auer Zitieren Link zu diesem Kommentar
Serge 10 Geschrieben 15. Oktober 2003 Autor Melden Teilen Geschrieben 15. Oktober 2003 Hallo Leute, Habe glücklicherweise :) noch ein Backup gefunden was sich aber nur mit der Einstellung zum Überschreiben beim Backup aktivieren liess. Habe aber jetzt wieder das Problem, wie kriege ich mein Monster Logfile los (44GB). Alle DTS Packete loggen von den Einstellungen her nicht, aber es wird immer größer. Wie kann man ein solches Logfile ohne Komplikationen loswerden ?? Von mir aus kann nach dem Import noch ein Funktion über DTS laufen, die das Logfile wieder leer macht, doch wie geht das, wie sehen die Funktionen aus ?? Zitieren Link zu diesem Kommentar
auer 10 Geschrieben 15. Oktober 2003 Melden Teilen Geschrieben 15. Oktober 2003 Setze mit sp_dboption die Datenbankoption 'trunc. log on chkpt.' auf On. Damit wird das Log nach Sicherungspunkten immer abgeschnitten und wächst nicht mehr so unendlich groß. Dies müßte den Fehler in Zukunft vermeiden. Das Log verkleinern gelingt mit der DBCC Shrinkfile - Funktion. Wenn ich es richtig weiß, dann bleibt dies scheinbar zunächst ohne Wirkung. Als ich damit mal herumgespielt hatte, mußten erst ein paar Daten eingefügt werden, bis der Platz auf der Festplatte freigegeben wurde. ------------- Gruß, Auer Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.