none
Tabellen täglich aktualisieren RRS feed

  • Frage

  • Hallo zusammen, ich habe eine Abfrage im SQL Server (Management Studio 2017) erstellt, die die Abfrage nicht in einer View, sondern einer Tabelle abspeichert. Das musste ich machen, weil die Datenmenge zu Groß ist.

    Die Abfrage lautet in etwa wie folgt. (Nur Beispiel, da die richtige Abfrage zu lange ist)

    SELECT *

    INTO fico.sba

    FROM aba.dbo.Bestandsauswertung

    Dabei ist aba.dbo.Bestandsauswertung die ursprüngliche Datentabelle, die direkt auf unser ERP System zugreift und täglich aktualisiert wird.

    Gespeichert wird das Ergebnis in der Tabelle fico.sba (fico ist nur das Schema in dem ich die Rechte zur Erstellung einer Tabelle habe)

    Wenn ich jetzt mit PowerQuery auf diese Tabelle zugreife und in Excel die Daten aktualisiere, kommt immer der Stand, zudem das letzte mal die Erstellung der Tabelle in SQL Server durchgeführt wurde (die Abfrage ausgeführt wurde). Im Gegensatz dazu, wenn ich eine Abfrage als View abspeichere, wird beim Aktualisieren in Excel immer der tagesaktuelle Stand ausgegeben.

    Jetzt meine Frage. Gibt es eine Möglichkeit, dass der obere Code von SQL Server täglich ausgeführt wird, so dass ich immer die tagesaktuellen Werte habe?

    Wenn mir dabei jemand behilflich sein könnte, wäre ich sehr dankbar.

    Viele Grüße

    D51

    Sonntag, 30. September 2018 17:37

Antworten

  • Du kannst auch ganz simpel einen Job anlegen, der als T-SQL folgendes ausführt:

    Truncate Table fico.sba;

    Insert into fico.sba(Felder) Select Felder from aba.dbo.Bestandsauswertung;

    Den planst Du dann täglich ein und das war es!

    HTH!


    Einen schönen Tag noch, Christoph - http://www.insidesql.org/blogs/cmu


    Montag, 1. Oktober 2018 05:58

Alle Antworten

  • Suche mal unter dem Stichwort SSIS.
    Alternativ kann man auch eine Aufgabe per Aufgabenplanung erstellen und via Powershell SQL's ausführen.

    https://docs.microsoft.com/en-us/powershell/module/sqlserver/invoke-sqlcmd?view=sqlserver-ps

    • Als Antwort vorgeschlagen Der Suchende Sonntag, 30. September 2018 18:35
    Sonntag, 30. September 2018 18:35
  • Du kannst auch ganz simpel einen Job anlegen, der als T-SQL folgendes ausführt:

    Truncate Table fico.sba;

    Insert into fico.sba(Felder) Select Felder from aba.dbo.Bestandsauswertung;

    Den planst Du dann täglich ein und das war es!

    HTH!


    Einen schönen Tag noch, Christoph - http://www.insidesql.org/blogs/cmu


    Montag, 1. Oktober 2018 05:58
  • Danke für deine Antwort.

    Werde die Vorgehensweise mal genauer betrachten.

    Habe zwar noch nicht allzu viel Erfahrung damit. Ich denke aber mit ein wenig Literaturrecherche kann das was werden.

    Montag, 1. Oktober 2018 18:47
  • Auch vielen Dank für deine Antwort.

    Da muss ich dann mal die IT fragen, ob sie mich für den Server-Agent freischalten. Dann sollte das kein Problem sein.

    Montag, 1. Oktober 2018 18:48