Announcement

Collapse
No announcement yet.

Verschieben des Transaktionsprotokoll-Logfiles

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

  • Verschieben des Transaktionsprotokoll-Logfiles

    Guten Morgen!

    Habe eine Frage zu den Transaktionsprotokoll-Logfiles.
    Ich betreue eine recht große SQL-Datenbank (> 120 GB). Wenn ich nun Aufträge wie z.B. Index-Rebuild oder Index-Reorg laufen lasse, dann wird das Transaktionslogfile sehr groß. Da ich auf der Festplatte für das Tranaktionslog nur ca. 70 GB Platz hatte, ist es schon passiert, dass mein Wartungsplan abgebrochen hat, weil ich die Kapazität der Festplatte erschöpft habe.
    Nun habe ich hier eine neue Festplatte mit 350 GB beschafft. Wenn ich diese nun als Speicherbereich für das Transaktionslogfile nutzen möchte, ist meine Frage, wie ich meiner Datenbank den neuen Speicherpfad für das Logfile "mitteile".
    Kann ich dies einfach unter "Datenbankeigenschaften" -> "Dateien" hinzufügen machen, so dass ich hier ein neues Protokoll-File hinzufüge und dort als Pfad dann ein Verzeichnis der neuen Festplatte angebe ? Kann ich das "alte" logfile dann danach einfach löschen, bzw. aus den Datenbankeigenschaften/Dateien entfernen ? Wird dann das Transaktionslog nur noch in die neue Datei gespeichert?

    Bin ein SQL-Neuling und für jeden Hinweis dankbar.
    Sascha

  • #2
    hallo,
    ich würde es so machen -Datenbank downtime so lange wie das Log-File von Festplatte a nach Festplatte b kopieren dauert-
    o Datenbank detach
    o Log-file auf die neue Festplatte kopieren
    o Datenbank file und log datei attach

    Wie das funktioniert kannst du googeln nach den Begriffen detach und attach. Hier hast du zwei Möglichkeiten, entweder rein per T-SQL oder über das Management Studio grafisch.

    Wenn du keine Downtime verkraftest müsstest du mal warten was die anderen vorschlagen.

    Comment


    • #3
      danke. das hilft mir schon mal weiter.

      Werde dies aber so oder so während einer Downtime machen, da ich ja eh die neue Platte noch einbauen muss.

      ...bin auch für weitere Tipps/Anregungen offen...

      Comment


      • #4
        eine Frage hätte ich da noch:
        Muss ich beim wiedereinhängen der DB mit "sp_attach_db" dort dann nur den Speicherort des mdf-files und des ldf-files angeben, oder müssen hier dann auch die Speicherorte der ndf-files mitangegeben werden?

        Ich habe mir die Syntax folgendermassen vorgestellt:

        1.
        use master
        go
        sp_detach_db 'DB01'
        go

        2.
        Betriebssystemseitiges kopieren des Logfiles auf die neue Partition.

        3.
        use master
        go
        sp_attach_db 'DB01','E:\MSSQL2005\DB01\data\DB01data01.mdf','G: \MSSQL2005\DB01\log\DB01log01.ldf'
        go

        Ich habe zur Zeit 1 mdf-file, 7 ndf-files und 1 ldf-file. Nur das ldf-file soll auf eine neue Partition verschoben werden. Muss ich dann hier für die sekundären (ndf)-Files auch sp_attach_db ausführen? Würden die oben genannten 3 Schritte ausreichen?

        Danke für Eure Hilfe.
        Sascha

        Comment


        • #5
          brauche doch nochmal die Hilfe von Euch SQL-Experten.

          Muss ich wie oben beschrieben bei einem sp_attach_db alle Datenbankfiles mitgeben (also auch die Pfade der ndf-files) oder reicht es, wie oben beschrieben, hier nur die Pfade zu dem mdf-file und den ldf-files mitzugeben?

          Finde dazu keine eindeutige Antwort und würde mich daher über einen Hinweis freuen!

          Sascha

          Comment


          • #6
            hat sich erledigt. Es hat alles funktioniert!
            Für diejenigen, die es interessiert bin ich folgendermassen vorgegangen:

            1. DB detach
            2. Logs auf die neue Platte kopiert
            3. Attach unter Angabe aller DB-Files (auch die .ndf`s)
            4. sp_helpfile beauskunftet zur Kontrolle

            So war alles ok.
            Sascha

            Comment

            Working...
            X