Veröffentlicht 19. August 201114 j Hallo Leute, ich möchte auf einem MSSQL Server eine Tabelle erstellen, die sich täglich 1x alle Daten von ca 10 anderen Tabellen aus anderen Datenbanken von anderen Servern abholt. Die Tabellen sehen dabei auf allen Servern gleich aus. Einen View zu erstellen, und die Daten immer von Linked Servern aktuell abzurufen, ist leider für das Reporting, für das ich die Tabelle nutzen möchte, nicht performant genug. Das bedeutet, ich möchte eigentlich immer eine neue Version pro Tag haben, die sich die Daten von den anderen Servern abholt. Wie kann ich einen solchen Schritt realisieren? Grüße digga_mies :bimei
19. August 201114 j Also ich würde trotzdem einen View verwenden und dann das Ergebnis des Views in eine passende Tabelle schießen. Also im Grunde so: insert into targettable select * from targetview Die Struktur vom View und der Zieltabelle müssen natürlich gleich sein.
19. August 201114 j und das Ganze noch schön via Cronjob (keine Ahnung, wie das nochmal auf einem MS-SQL-Server heisst) entsprechend einmal täglich ausführen lassen. Sollte es Probleme mit der Laufzeit geben, so besteht auch die Möglichkeit, ODBC-Verbindungen direkt in T-SQL zu öffnen und dann deren Ergebnis in die komplette Tabelle einzufügen. Allerdings muss man hierfür bei den anderen Servern Konfigurationen vornehmen, die unter Umständen zu Sicherheitsproblemen führen können.
22. August 201113 j Hey, vielen Dank für die Antworten. Hab jetzt mal einen solchen Job angelegt und werde mal sehen. ob das so funktioniert. Da ich insgesamt von so vielen Servern einsammeln muss, passt es so am Besten. Grüße digga_mies
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.