Announcement

Collapse
No announcement yet.

Beste Vorgangweise: Trigger oder SSIS?

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

  • Beste Vorgangweise: Trigger oder SSIS?

    Hallo Leute,

    da ich nur begrenzt Erfahren auf diesem Gebiet habe, brauche ich die Meinung von Profis:

    Mein Server bekommt von einem anderen Server regelmäßig ein Update eingespielt. Dieses Update betrifft tausende INSERT Anweisungen verteilt auf 10 Tabellen.

    Nach dem Update soll das System diese Tabellen automatisch nach definierten Kriterien zu einer Tabelle joinen.

    Was verwendet man hier am besten? Trigger, SSIS, etwas anders?

    Danke für euren Rat.
    Zuletzt editiert von setana; 13.11.2008, 11:05.

  • #2
    Hallo Setana,

    die SSIS sind ein klassisches ETL-Tool (Extract -> Transform -> Load). Da die Daten aber bereits in der Datenbank sind - so habe ich es zumindest verstanden - würde es hier keinen Sinn machen, diese zum Einsatz kommen zu lassen. Mit Triggern wäre ich grundsätzlich vorsichtig, vor allem bei einem Import mehrerer tausend Datensätze, da dieser bei jedem Update bzw. Import ausgelöst wird, was den Import langsam macht und die Leistung des Servers in den Keller zieht. Von Deinen Informationen ausgehend, würde ich eher zu einer Sicht tendieren, in der Du alle vom Import betroffenen Tabellen zusammen joinst und dann z. B. über eine Gespeicherte Prozedur die Daten zeitgesteuert, parametrisiert, usw. in eine Tabelle schreiben läßt. Dies ist - so denke ich - die schnellste, ressourcenschonendste Variante.

    Gruß, Alexander
    Zuletzt editiert von Alexander Maiburg; 13.11.2008, 12:52. Reason: asdf

    Comment


    • #3
      Danke Alexander für deine Hinweise.

      Deine Option mit der zeitgespeicherten Prozedur gefällt mir. Hier wäre noch interessant wie man das automatische Auslöen der Prozedur am elegantesten löst.

      Comment


      • #4
        Hallo setana,

        erstelle einen Job im SQL-Server-Agent. Darin erstellst Du einen Step vom Typ T-SQL. Über den Befehl EXEC kannst Du Deine Prozedur aufrufen.

        Gruß, Alexander

        Comment


        • #5
          Vielen Dank Alexander. Das war genau der Hinweis den ich benötigte.

          Comment

          Working...
          X