Selbstzerstörende Indizes nach Update auf 8.1

sconrad

Aktives Mitglied
Teammitglied
Hallo Zusammen,
folgende Situation: Kunde hat von der 7.1 auf die 8.1 umgestellt. Komplette Infrastruktur ins gehostete Rechenzentrum. Wenn sich nun ein (!) User anmeldet, geht der SQL-Server auf 100& Auslastung hoch und bleibt auch so.
Eine Analyse ergab folgendes: Schuld an der Auslastung ist das Controlcenter Element "Fehlende Lagerbestände" - nach ca. 5 -10 Minuten (variiert) meldet das Controlcenter, das der AppServer nicht antwortet - der SQL Server ist derzeit immer noch beschäftigt.
Wenn man nun die Indizes der betroffenen Tabellen (KHKArtikel, KHKVKBelegeLagerplätze usw.) neu aufbaut (kein neu organisieren), dann läuft alles reibungslos und auch der SQL-Server geht nur einmal kurz auf Volllast!
Allerdings tritt das Problem nach 48-72 Stunden erneut auf. Auch dann müssen die entsprechenden Indizes neu aufgebaut werden. Noch ist das System in der Testphase und wird nur von einem maximal drei Usern benutzt.
Es wäre ja jetzt die logische Folgerung, das man per Wartungsplan die Indizes neu aufbauen lässt, ich habe hier aber ein wenig Bauchschmerzen, da
a) ich mir nicht erklären kann, warum die Indizes "zerschossen" sind
b) es später ca. 30 Benutzer sind, die mit dem System arbeiten und dann die Indizes ja entsprechend schneller neu aufgebaut werden müssen. Da dies ca. 15 Minuten dauert, kann ich das nicht im normalen Tagesablauf durchführen lassen und das System damit blockieren

Die Datenbank wurde 1999 erstellt und seitdem ist Sie auf 24 GB angewachsen. Wir werden jetzt im ersten Schritt Geschäftsjahre löschen - aber trotzdem bleibt die Frage offe, warum die Indizes immer wieder neu aufgebaut werden müssen.

In der Hoffnung auf Eure Schwarmwissen!
Gruß,
Stephan
 
Hallo Michael,

vielen Dank - das hilft weiter!

Grüße aus Linz am Rhein
Stephan
 
Wir hatten ein ähnliches Veralten, als der Kunde von 7.1 auf 8.1 wechselte. Dort waren die Auslastung am höchsten, wenn der Anwender in den Erfassungsbelgen ein Stücklisten Artikel verwendet wurde. Beheben könnten wir das auch mit den Indiezes. Allerdings brauchten wir das nur einmal machen und es blieb bei uns haften. Die Indiezes werden nun regelmässig monatlich beim Kunden neu aufgebaut. Die DB des Kunde kam von SQL Express und hatte über 10 Geschäftsjahre.
 
b) es später ca. 30 Benutzer sind, die mit dem System arbeiten und dann die Indizes ja entsprechend schneller neu aufgebaut werden müssen. Da dies ca. 15 Minuten dauert, kann ich das nicht im normalen Tagesablauf durchführen lassen und das System damit blockieren

Hallo Stephan,

wieso lässt du nicht ein Wartungsscript immer Nachts laufen?

Wir lassen unsere Wartungsscripte alle täglich auf allen Servern laufen und fahren damit sehr gut.
Jeder Server benötigt dabei ca. 15 Minuten (für min. 5 db welche zudem noch an "gezippt" einen externen Ort geschoben werden inkl. Verschlüsselung, Upload und co)

Das sollte den normalen Betrieb ja nicht wirklich stören und auch Indizes sollten einer regelmäßigen Wartung unterliegen.
 
Hallo Manuel,

"wieso lässt du nicht ein Wartungsscript immer Nachts laufen?" - weil der Index schon nach dem 2. Start kaputt ist. Wir haben aber nun mit dem Kunden die alten Geschäftsjahre gelöscht (kam aus 1996) und seit dem sieht es besser aus ;) - die DB ist nun auch entsprechend kleiner.
 
Zurück
Oben