Veröffentlicht 1. November 201014 j Hi, ich suche nach einer Lösung für folgendes Problem: wir importieren nachts eine relativ große Menge von Daten. Für die Auswertung brauchen wir daraus mehrere Sichten. Es ist jedoch so, das diese Sichten sehr viel Last verursachen und daher nicht während der normalen Arbeit ausgeführt werden sollten. Daher wollen wir diese Sichten automatisiert morgens früh ausführen und die Ergebnisse in Tabellen schreiben, so dass die Benutzer dann auf die Tabellen zugreifen können. Ist sowas einfach zu realisieren? Herzliche Grüße Manfred
1. November 201014 j Hallo, ich kenne mich mit MSSQL nicht aus aber in Oracle würde ich einfach ein create table x as select .... schreiben. So ein ähnliches Konstrukt gibt es doch bestimmt bei MS auch oder? Frank
1. November 201014 j CREATE TABLE [dbo].[Tabelle] ( Spalten der Sicht ) INSERT INTO [dbo].[TABELLE] SELECT * FROM [sicht] Das müsste eigentlich genügen - lässt sich dann per SQL Server Agent automatisieren.
2. November 201014 j Hallo, um hier nicht alle Schlüssel von Hand anlegen zu müssen, würde ich das Statement meines Vorgängers zum Erstellen der Tabelle auswählen. Ansonsten könnte man auch ein "SELECT * INTO NeueTablle FROM VorhandeneSicht" ausführen. Um die Daten allerdings zu kopieren würde ich eher zu einem SSIS (SQL Server Integration Services)-Paket greifen. Da ich mal davon ausgehe, dass eine große Menge Daten kopiert werden muss. Hier wäre SSIS einfach schneller. Aber eine Frage mal vorweg... Wo liegt denn das Performanceproblem? Zu viele Festplattenzugriffe, zu wenig vorhandener Arbeitsspeicher? Und um welche Version des SQL Server gehts denn eigentlich (2000, 2005 oder 2008)? Viele Grüße, Thomas
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.