Announcement

Collapse
No announcement yet.

Tabellen-Backup SQL2005

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

  • Tabellen-Backup SQL2005

    Hallo Zusammen !

    Kennt Ihr einen guten Link zu einer Beschreibung wie sich bei einer SQL-2005 DB eine Tabelle von einer Tages-Komplett-Sicherung zurückspielen lässt ?

    Ich möchte ein SQL Update über eine Tabelle laufen lassen. Daher zuvor natürlich diese Sicherung. Sollte das SQL Update dieser einen Tabellen schief laufen, würde ich dann eben diese eine Tabelle dann zurückspielen.

    Andere Möglichkeiten ist natürlich auch, eine Kopie von dieser einen Tabelle zu erstellen, dann den SQL Update auf diese Tabellen-Kopie testen und dann auf die original Tabelle zu machen. Hier nun die Frage wie erstelle ich mir eine Kopie einer Tabelle ?

    Fragen über Fragen, wer kann mir da helfen?

    Danke und Grüße Daniel

  • #2
    Ich würde das mit einer Testtabelle bevorzugen, da dass keine Auswirkungen auf irgendwelche anderen Tabellen haben kann iund im Fall des Falles leicht X mal wiederholt werden kann, bis alles passt. Mal so eine Idee - alles in eine stored proc packen und die Testtabelle dabei als temporäre Tabelle automatisch anlegen lassen:
    Code:
    ...
    select * into #testtable from originaltable
    update #testtable ...
    select * from #testtable
    Falls die Tabelle zu groß sein sollte oder für die ersten Versuche, kann man ja vielleicht TOP verwenden, also
    select TOP 100 * into #testtable from originaltable

    bye,
    Helmut

    Comment


    • #3
      Hallo helmut,

      vielen Dank für Deinen Tip. Nur kurz zum Verständnis bevor ich etwas falsch mache.

      - was heißt "stored proc packen" ?
      - dies '#' gehört mit in die Select-Anweisung ?

      Vielen Dank für die Hilfe !


      Gruß Daniel

      Comment


      • #4
        In eine "stored proc packen" heißt, dass du den Code in einer Stored Procedure schreiben solltest. Das # gehört in die SELECT-Anweisung, die Helmut geschrieben hat. Damit wird die Tabelle als temporäre Tabelle gekennzeichnet.

        Um UPDATE-Anweisungen zu testen gehe ich etwas anders vor. Und zwar mache ich aus dem UPDATE vorher einen SELECT. Geht ja normalerweise problemlos, und man sieht dann, welche Zeilen der UPDATE-Befehl ändern würde.


        Gruß,
        Martin

        Comment


        • #5
          Hallo Martin,

          In dem Fall würde ich sagen ist das etwas schwer, da ich hintereinander mehrere Updates auf eine Tabelle laufen lasse, siehe http://entwickler-forum.de/showthread.php?t=42988

          Deshalb ist es sicherlich doch empfehlenswert es bei einer Kopie zu versuchen,oder?

          Aber wenn ja, nochmals zum Verständis für die Erstellung einer Kopi einer Tabelle:

          1.Schritt: Erstellt die Kopie
          select * into #testtable from originaltable

          2. Schritt: Ich führe mein Update durch
          update #testtable ...

          3. Schritt: neue Tabelle überprüfen
          select * from #testtable

          Oaky ?


          Gruß und Vielen Dank!


          Daniel

          Comment


          • #6
            Genauso ist es
            Kann man direkt im QueryAnalizer oder Management Studio machen, einfach die drei Zeilen untereinander schreiben und ausführen (wobei man da vielleicht als letzte Zeile ein "drop table #testtable" schreiben sollte)...

            bye,
            Helmut

            Comment

            Working...
            X