Lucas: MS SQL Server. Reaktion beim Anlegen eines Datensatzes.

Hiho ;)

Ich habe versucht, im Thema meines Beitrages mein Problem schon möglichst genau zu formulieren.
Da ich nicht so wirklich der MS SQL Server Spezialist bin, wende ich mich hierher ;)
Ich brauche ein SQL Script, dass die Datensätze einer Tabelle in eine andere kopiert (die andere Tabelle befindet sich ausserdem in einer anderen Datenbank).
Das würde ich wahrscheinlich gerade noch schaffen..
Das Schwierige (?) an der Sache ist, dass das Script immer genau dann einsetzen soll wenn ein User einen neuen Datensatz generiert, bzw. einen bestehenden verändert.
Ist das überhaupt möglich, auf so ein Ereignis im SQL Server zu reagieren? Wenn ja: WIE?
Am besten wäre dann auch noch, nur direkt den veränderten, bzw. neu angelegten Datensatz zu kopieren. Sollte das nicht möglich sein, muss ich das eben irgendwie über das Setzen von Flags regeln..

Mit freundlichen Grüßen
Lucas

  1. Hallo,

    Ich brauche ein SQL Script, dass die Datensätze einer Tabelle in eine andere kopiert (die andere Tabelle befindet sich ausserdem in einer anderen Datenbank).

    Du hast also zwei Tabellen in zwei verschiedene Datenbanken und willst das die Tabellen identisch vom Inhalt bleiben und zwar in der Weise das wenn eine  (festgelegte) Tabelle geändert wird das sich in der anderen ändert.
    Die per SQL-Skript zu kopieren ist eine Möglichkeit. Aber für Deinen Fall wahrscheinlich die Schlechteste.
    Alternative:
    Database-Links. Damit lassen sich virtuelle Tabellen in einer Datenbankinstanz erzeugen obwohl physikalisch die Tabelle in einer anderen Instanz auf einem ganz anderen Server liegt.
    Nachteil: Netzwerktraffic ist evtl. recht hoch weil bei jedem Zugriff auf diese virtuelle Tabelle die Daten übers Netz gehen was je nach Anbindung schon etwas dauern kann.

    Deshalb ist es dann ratsam es so zu machen wie Du vorschlägst:

    Das Schwierige (?) an der Sache ist, dass das Script immer genau dann einsetzen soll wenn ein User einen neuen Datensatz generiert,

    Um quasi "Ereignisgesteuert" (anlegen eines Datensatzes oder auch die Änderung, löschen usw. sind solche Ereignisse) Aktionen zu starten dafür gibt es sogenannte Trigger.

    Mehr kann ich Dir dazu leider nicht sagen, weil meine MS-SQL-Server Kenntnisse beschränkt sind. Aber die Stichwörter sollten Dir zumindest bei der weiteren Suche helfen.

    Gruss
       MichaelB