Announcement

Collapse
No announcement yet.

ldf file shrink(en)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ldf file shrink(en)

    Guten MOrgen,

    ich habe zwar schon einige Post's dazu gelesen aber so richtig hilft mir das nicht?

    Ich moechte bei unserem SQL Server von einer db das log file *.ldf verkleinern.

    Probiert habe ich es ersteinmal an einer Testdb damit
    Code:
    backup log sasystem with no_log
    dbcc shrinkdatabase (testdb, 10)
    ...inactive eintraege werden geloescht...
    aber bei dbcc shrinkdatabase auf 10 Prozent,...wird das logfile oder die db angesprochen???

    Ich will ja einfach nur das ldf verkleinern da dies nun schon < 60 GB hat.

    Danke fuer eure Hilfe.

    /stef

  • #2
    Hi,

    was für einen Herstellungsmodus hat denn deine Datenbank?

    Das Shrinkfile funktionet bei uns. Wir machen danach aber noch eine Datenbank Verkleinerung.
    Zu dem Punkt kommst du über: Rechte-Maustaste auf die Datenbank, Tasks, Verkleinern.

    Bei dem Punkt Dateien kannst du aktiv dein Logfile auswählen.

    Gruss

    Michael
    http://www.mschnuerer.de

    Comment


    • #3
      Hallo Michael,

      vollstaendige wiederherstellung.

      Das ganze denke ich mal lieber nicht im laufenden Betrieb machen oder?
      ich habe das ja schon ausprobiert mit der rechten maustaste....

      Welche Option muss ich denn da nehmen damit es einen effekt gibt?
      Wenn ich den haken nur bei "Seiten komprimieren..."
      http://www.bilder-space.de/bilder/90194a-1309420335.jpg passiert nicht viel.

      Andere Frage, was passiert eigtl. wenn ich die Groesse des log file von vornherein begrenze?
      Wird es dann jedesmal abgeschnitten wenn die Groesse erreicht ist?

      /stef

      Comment


      • #4
        Hi,

        bei der Vollständigen Wiederherstellung musst du das Transaktionsprotokoll eingeständig sichern. Dann wird es auch nicht mehr so groß. Bei einer Vollständigensicherung ist das Transaktionsprotokoll nicht enthalten!

        Ich habe das im laufenden Betrieb gemacht. Allerdings bei einer unkritischen Datenbank.

        Gruss

        Michael
        http://www.mschnuerer.de

        Comment


        • #5
          Hallo buliwyf,
          Das ganze denke ich mal lieber nicht im laufenden Betrieb machen oder?
          Man kann es im laufenden Betrieb machen, es erzeugt aber bei großen LOG File eine entsprechend hohe IO Last, wodurch dann alle anderen Processe langsamer laufen; also nicht unbedingt zu empfehlen. Also am besten als SQL Server Agent Job für die Nacht einplanen.

          Andere Frage, was passiert eigtl. wenn ich die Groesse des log file von vornherein begrenze?
          Wird es dann jedesmal abgeschnitten wenn die Groesse erreicht ist?
          Nein, dann wird das LOG nicht automatisch abgeschnitten, sondern es knallt einfach nur. Es gibt die Meldung "Log-File voll.." und man kann nichts mehr in die DB schreiben.

          Wenn man Wiederherstellungsmodell "Vollständig" hat, sollte man auch regelmäßig das LOG File sichern, z.B. stündlich. Mit der Sicherung werden dann alle VLF frei gegeben und können wiederverwendet werden. So wird das LOG nur so groß, wie es in der zwischenzeit an VLF's verwendet wurden.
          Wenn Du die LOG Sicherungen nicht brauchst, um z.B. Restore-To-A-Point zu machen, kannst Du das Wiederherstellungsmodel auch auf "Einfach" setzen.
          Olaf Helper

          <Blog> <Xing>
          * cogito ergo sum * errare humanum est * quote erat demonstrandum *
          Wenn ich denke, ist das ein Fehler und das beweise ich täglich

          Comment

          Working...
          X