none
Reicht das Kopieren der MDF-Datei? RRS feed

  • Frage

  • Hallo!

    Ich habe mal ganz kurz ne Frage, da ich nirgends eine eindeutige Info zu dem Thema finde:

    Reicht es aus, nur das MDF-File einer Datenbank zu verschieben oder MUSS ich das ldf-File auch kopieren?

    Dass es auch ohne geht, habe ich bereits festgestellt. Aber ist das auch ein sicherer Weg? Normalerweise schreibt doch der Server nach dem Offline-Schalten der Datenbank alle ausstehenden Transaktionen in die Datenbank, oder? Demnach müsste das doch ein sicherer Weg sein, oder?

    Bei einer meiner Datenbanken ist das LDF-File 15 GB groß, da dauert das kopieren schon mal ne Weile...

    Gruß Gerrit

    Dienstag, 7. Juni 2011 05:49

Antworten

  • Nicht unbedingt. Ich würde mich zumindest nicht darauf verlassen. Oft wird nach dem Starten weiter wiederhergestellt.
    Das kannst Du schön testen, indem Du eine große Transaktion abbrichst udn noch während er das Rollback macht, den Serverdinest stoppst. Wenn Du wieder startest, geht da sRollback weiter.
    Und wenn Du sowieso schon 100 Gig kopieren mußt, kommt's auf die 15 auch nicht mehr an.

    Für die DB ist die Größe des Logs ok. Was geshrinkt wird muß auch wieder wachsen, also nur im unbedingten Notfall machen. 


    • Als Antwort markiert Gerrit Horeis Donnerstag, 9. Juni 2011 08:59
    Dienstag, 7. Juni 2011 14:26

Alle Antworten

  • Hallo Gerrit,

    im Grunde hast du mit Deinen Feststellungen recht. Da jedoch keiner außer Microsoft ganz sicher weiß, was noch in der LDF gespeichert wird, kann Dir auch keiner ganz genau sagen ob Deine Methode wirklich sicher ist. Normal ist es jedenfalls so das MDF und LDF Datei eigentlich zusammen gehören und nicht getrennt werden sollen. Sicherlich gibt es die Möglichkeit eine MDF-Datei auch ohne LDF-Datei einzuspielen, diese sollte jedoch nur als letzter Ausweg gesehen werden, wenn die LDF-Datei wirklich nciht mehr zu gebrauchen ist.

    Vielleicht wäre es ein sinnvollerer Ansatz abzuklären, warum die LDF-Datei so groß ist und ob es nicht unter Umständen sinnvoller wäre diese zu verkleinern.


    Gruß Falk
    XING
    Dienstag, 7. Juni 2011 09:34
  • Erstmal Danke für die schnelle Antwort! Wahrscheinlich könnte man die LOG-Datei auch shrinken, aber wie immer sollte alles schnell schnell gehen ;-)
    Dienstag, 7. Juni 2011 11:33
  • Der sicherere Weg, eine Datenbank konsistent zu kopieren wäre über ein Backup/Restore.

    15 Gig LDF ist definitiv zuviel, wenn die MDF nicht mindestens genauso groß ist, selbst dann wäre es zuviel.

    Entweder steht das Wiederherstellungsmodell auf "vollständig" und es wurden da keine Logsicherungen gemacht oder es laufen große Transaktionen ab.

    Dienstag, 7. Juni 2011 11:35
  • Das MDF-File ist ca. 100 GB groß.

    Was passiert denn beim Offline-Schalten? Müssten dann nicht alle Transaktionen abgeschlossen sein?

    Dienstag, 7. Juni 2011 11:38
  • Nicht unbedingt. Ich würde mich zumindest nicht darauf verlassen. Oft wird nach dem Starten weiter wiederhergestellt.
    Das kannst Du schön testen, indem Du eine große Transaktion abbrichst udn noch während er das Rollback macht, den Serverdinest stoppst. Wenn Du wieder startest, geht da sRollback weiter.
    Und wenn Du sowieso schon 100 Gig kopieren mußt, kommt's auf die 15 auch nicht mehr an.

    Für die DB ist die Größe des Logs ok. Was geshrinkt wird muß auch wieder wachsen, also nur im unbedingten Notfall machen. 


    • Als Antwort markiert Gerrit Horeis Donnerstag, 9. Juni 2011 08:59
    Dienstag, 7. Juni 2011 14:26
  • Hallo Gerrit

    Die andere Frage von Christa hast Du nicht beantwortet. Die bezüglich Recovery Model.

    Da Du ohne LDB einspielen willst, liegt der Verdacht ziemlich nahe, dass Du Dich noch nicht gross mit dem Recoverymodell auseinander gesetzt hast und dieses auf "vollständig" eingestellt ist. Das macht nur dann Sinn, wenn Du das wirklich auch ausnutzen willst, sonst ist es IMO Platz und Ressourcenverschwendung und führt dann eben z.B. zu einer riesigen LDB. Bitte kontrolliere das mal und stelle allenfalls um. Dann sollte das LDB wesentlich kleiner werden. Gegebenenfalls mal einen richtigen Backup machen, damit da wieder reduziert werden kann. Ein 15GByte grosses LDB ist schon stattlich. Leis' Dich auch in den BOL mal in das Kapitel Recovery ein.

    Gruss
    Henry
     Gerrit Horeis wrote:

    Das MDF-File ist ca. 100 GB groß.

    Was passiert denn beim Offline-Schalten? Müssten dann nicht alle
    Transaktionen abgeschlossen sein?

    Mittwoch, 8. Juni 2011 07:05
  • Ok, hab's verstanden ;-) Also lieber das ldf mitkopieren.
    Mittwoch, 8. Juni 2011 07:55
  • Das Wiederherstellungsmodell steht auf "Einfach".

    Mittwoch, 8. Juni 2011 07:57
  • Falls Du keine sehr grossen Transaktionen hast (also riesige Tabellen rumschieben, etc.) kannst Du mal versuchen, die Logdatei zu shrinken. Evt. kommt diese dann auf eine erträgliche Grösse runter und wird nicht mehr so stark anwachsen, wie sie zur Zeit ist.

    Gruss
    Henry

    Gerrit Horeis wrote:

    Das Wiederherstellungsmodell steht auf "Einfach".

    Mittwoch, 8. Juni 2011 11:02
  • hi Gerrit,

    15% LDF Space im Vergleich zu den Daten kann je nach Anwendungsfall schon noch im normalen Bereich liegen.

    Ansonsten siehe: Verwalten des Transaktionsprotokolls


    Microsoft MVP Office Access
    https://mvp.support.microsoft.com/profile/Stefan.Hoffmann
    Mittwoch, 8. Juni 2011 11:07
    Moderator
  • Falls Du das regelmässig machst, solltest Du vielleicht mal über Backup Compression nachdenken. Beginnend mit SQL Server 2008 EE gibt es das eingebaut, ansonsten kannst Du so etwas relativ einfach selbst basteln.

     


    -- Frank Kalis Microsoft SQL Server MVP Webmaster: http://www.insidesql.org
    Donnerstag, 9. Juni 2011 05:57
  • Ok, Danke für den Hinweis!
    Donnerstag, 9. Juni 2011 08:58