none
SQL Tabelle von einer Datenbank zur anderen kopieren RRS feed

  • Frage

  • Hallo Community,

     

    ich habe eine kurze Frage.

    Ist es Möglich eine SQL Tabelle von einer Datenbank zu einer anderen zu kopieren.
    Per Skript oder ähnliches, nach dem die SQL Tabelle kopiert wurde, sollen zu einem späteren Zeitpunk nur noch die Tabellenreihen die sich geändert haben von der Quelldatenbank zur Zieldatenbank kopiert werden.
    Später sollen dann nur noch von dem Quellserver Reihen kopiert werden die nicht auf dem Zielserver  vorhanden sind, die Reihe besitzt einen Primary Key und heisst zv: KFZid
    Quellserver: SQl Server 2005
    Zielserver: SQL Server 2000

    Wie realisiert man sowas am einfachsten ?

    Viele Danke
     

    Donnerstag, 7. April 2011 11:54

Antworten

Alle Antworten

  • Das ist eine durchaus übliche Anforderung, die recht häufig nachgefragt wird und zu der es verschiedenste Ansätze gibt. Unter anderem:

    - Einen Verbindungs-Server zwischen beiden Instanzen einrichten und einen Prozedur über den SQL Agent steuern lassen, die ein INSERT INTO SQL Server 2000 SELECT .... FROM SQL Server 2005 WHERE NOT EXISTS SQL Server 2000. KFZid = SQL Server 2005.KFZid macht

    - Ein SSIS Paket, welches vom Prinzip her das Gleiche wie 1) macht

    Falls Du auch noch evtl. die Aenderungen aus SQL Server 2005 in SQL Server 2000 bringen willst, kämen evtl. noch Szenarien wie Replikation, Log Shipping, etc... in Betracht.

    Abhängig von Deinen Anforderungen, würde ich einfach mal in bisschen im Internet stöbern. Da solltest Du brauchbare Lösungen finden, die ohne grossen Anpassungsbedarf funktionieren.

     


    -- Frank Kalis Microsoft SQL Server MVP Webmaster: http://www.insidesql.org
    Freitag, 8. April 2011 05:37
  • Uebrigens macht es nicht wirklich Sinn, ein und dieselbe Frage in mehrere MS Foren gleichzeitig zu stellen, da die meisten Teilnehmer eh allen folgen. Das macht es für alle schwieriger, den verschiedenen Kommunikationssträngen zu folgen. So wie in diesen Fall, wo ich mir die Antwort hätte sparen können, da Du bereits hier http://social.technet.microsoft.com/Forums/de-DE/sqlserver/thread/f5254d19-65d1-493f-b083-89eb1912f808 ähnliche erhalten hast.
    -- Frank Kalis Microsoft SQL Server MVP Webmaster: http://www.insidesql.org
    Freitag, 8. April 2011 05:43
  • Hallo Frank,

     

    das tut mir wirklich leid, aber ich hatte es ja oben beschrieben. War ein Fehler,  passiert nicht nochmal. Deine Antwort war wirklich hilfreich und das ist der Ansatz den ich auch bis jetzt habe. Ich muss nur noch den Linkedserver zum laufen bekommen.

    Meine Query:

    use test;

    go

    insert into test.dbo.info (jobid) select test2.dbo.info.jobid from test2.dbo.info where jobid != jobid

     

    ich habe nochmal eine Frage zu dem Linkedserver:

     

    wenn ich den fertig eingerichtet habe. muss ich vor jedem Datenbanknamen den Servernamen dazu schreiben oder wie spreche ich den dann an ?

     

    Freitag, 8. April 2011 10:37
  • Du hast eine Antwort auf diese Frage in dem anderen Thread. :-)
    -- Frank Kalis Microsoft SQL Server MVP Webmaster: http://www.insidesql.org
    • Bearbeitet Frank Kalis Freitag, 8. April 2011 11:25 Typo
    Freitag, 8. April 2011 11:25
  • hehe... Danke...

     

    dieser Thread kann ja dann gelöscht werden...

     

     

    Freitag, 8. April 2011 11:36