wir füttern einen Olapserver über eine 100Mbit-Leitung mit Daten von einem
SQL-Server.
Der Aufbau eines sehr komplexen Cubes dauerte bisher um die 10 Stunden (bei
nur 3 Aggregationen). Aus zahlreichen aufwendigen Views wird der Cube
gebaut. Die Quelldatenbank ist ca. 6GB groß und hat in der Haupttabelle 2,5
Millionen Einträge.
Nachdem wir eine weitere Dimensionsebene einer Dimension eingebaut haben die
auf 4. Ebene 200000 Elemente einfügt, ist die tempdb auf dem SQL-Server so
groß (36GB) geworden, dass der gesamte Plattenplatz belegt ist. Der Cubebau
wird mit der Fehlermeldung abgebrochen, dass das Transaktionsprotokoll der
tempdb nicht vergrößert werden kann, da die tempdb-Datendatei den gesamten
Speicher hat.
Beschränke ich die Größe der tempdb bekomme ich den Fehler: tempdb kann
nicht vergrößert werden.
Nach dem entfernen der neu eingefügten Dimension bekomme ich jetzt aber
denselben Fehler wie ohne diese Dimension, obwohl es in dieser Konstellation
vorher funktioniert hat.
Die tempdb lässt sich jetzt auch nicht mehr gescheit verkleinern.
Was kann ich tun?
Ist es überhaupt realistisch, dass der SQL-Server 36GB tempdb brauchen kann
bei 6GB großer DB?
Weiterer Festplattenplatz ist natürlich auch eine Lösung aber wahrscheinlich
wissen wir zu wenig über die tempdb, um zu verstehen, warum diese plötzlich
unter gleichen Umständen so viel größer wird.
Gruß
Lutz Schneider!
> wir füttern einen Olapserver über eine 100Mbit-Leitung mit Daten von einem
> SQL-Server.
>
> Der Aufbau eines sehr komplexen Cubes dauerte bisher um die 10 Stunden
(bei
> nur 3 Aggregationen). Aus zahlreichen aufwendigen Views wird der Cube
> gebaut. Die Quelldatenbank ist ca. 6GB groß und hat in der Haupttabelle
2,5
> Millionen Einträge.
>
> Nachdem wir eine weitere Dimensionsebene einer Dimension eingebaut haben
die
> auf 4. Ebene 200000 Elemente einfügt, ist die tempdb auf dem SQL-Server so
> groß (36GB) geworden, dass der gesamte Plattenplatz belegt ist. Der
Cubebau
> wird mit der Fehlermeldung abgebrochen, dass das Transaktionsprotokoll der
> tempdb nicht vergrößert werden kann, da die tempdb-Datendatei den gesamten
> Speicher hat.
>
>
>
> Beschränke ich die Größe der tempdb bekomme ich den Fehler: tempdb kann
> nicht vergrößert werden.
>
> Nach dem entfernen der neu eingefügten Dimension bekomme ich jetzt aber
> denselben Fehler wie ohne diese Dimension, obwohl es in dieser
Konstellation
> vorher funktioniert hat.
> Die tempdb lässt sich jetzt auch nicht mehr gescheit verkleinern.
> Was kann ich tun?
Lies dazu mein Posting vom 3.6.2002, Topic "Transaction Log II"
Message-ID: <adfiu1$10t4cu$1...@ID-13084.news.dfncis.de>
> Ist es überhaupt realistisch, dass der SQL-Server 36GB tempdb brauchen
kann
> bei 6GB großer DB?
Bei Cubes kann das schon mal passieren. Mit der Zahl der Dimensionen
wächst der Speicherbedarf extrem an.
Einen Cube mit 50 Dimensionen wird kein Computer des Universums erstellen
können.
(jede Dimension hat natürlich mehrere Datensätze)
Andreas
die Cubeerstellung lief aber unter den jetzigen Bedingungen schon. Kann die
tempdb durcheinander sein?
Gruß Lutz!
"Andreas Schmidt" <a_j_s...@rocketmail.com> schrieb im Newsbeitrag
news:adicq6$1150hj$1...@ID-13084.news.dfncis.de...
> die Cubeerstellung lief aber unter den jetzigen Bedingungen schon. Kann
die
> tempdb durcheinander sein?
Schon möglich, dass in der tempdb "Leichen" rumliegen.
Beim Starten des SQL-Servers wird die tempdb neu erzeugt
(wird aus der Datenbank "model" kopiert).
Also sollte ein Stop und Start des SQL-Server Service helfen.
Andreas
PS:
bitte richtig zitieren, dein Text immer unten dransetzen
http://learn.to/quote