Datenbank - Perfromaceoptimierung täglich automatisch anstossen

topsi

Aktives Mitglied
27. November 2018
57
5
Hallo,

wir laufen bei ecom auf einem MSQL 2016 standard (Miete)

Gerne würde ich die in JTL integrierte Performanceoptimierung automatisiert nachts laufen lassen. So wie ich es verstanden habe geht das nur über den server Agent und nicht zB per worklow oder aufgabenplanung.

JTL selbst war auf mein Ticket hin leider nicht in der Lage mir das verwendete Skript zu "verraten".

Kann mir jemand eine kurze Anleitung geben, wie sich das implementieren lässt?

Das hier habe ich in einem anderen Forenbeitarg zum Thema skript gefunden, bin aber nicht sicher ob das für die 1.6.44 noch gilt:

EXECUTE dbo.IndexOptimize @Databases = 'USER_DATABASES', @FragmentationLow = NULL, @FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationLevel1 = 5,
@FragmentationLevel2 = 30

VG
topsi
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
589
149
Also ich lasse bei uns täglich nachts die spOptimieren drüberlaufen. Diese Procedure startet auch die IndexOptimize mit sinnvollen Argumenten.
Also EXEC eazybusiness.dbo.spOptimieren
Ob du solche Wartungsarbeiten per Aufgabenplanung, oder mit dem SQL-Agent ausführen läßt, oder die Befehle manuell eintippst ist ja egal - führt immer zum selben Ergebnis.
Übrigens: als wir noch bei Ecomdata waren hatten wir sowieso keinen Zugriff auf den SQL-Agent...

Tipp: Schau dir doch die spOptimieren mal an, was die macht und was sie mit welchen Parameter aufruft.
 
  • Gefällt mir
Reaktionen: topsi

wawi-dl

Sehr aktives Mitglied
29. April 2008
5.296
403
Jein, es sammeln sich schon sehr viele Logs, Picklisten, gelöschte Kunden + Bilder an, die eine Datenbank unnötig aufblähen.
Diese werden von uns regelmäßig gelöscht und dann über JTL Indizis neu gesetzt.

Daher die Frage, ob die Auslösung von diese StoredProcedure vielleicht was besser macht.

Die SQL DB ist bereits optimiert, hat damit weniger zu tun.
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
589
149
In einem Testsystem, in dem immer wieder mit der Ameise relativ viel hin und her exportiert wird wirkt sich die Stored Procedure merklich aus.
Da das so ist, lass ich das auch auf dem Produktivsystem in der Nacht drüberlaufen - tut ja nicht weh.
Zahlen dazu hab ich aber keine. Vielleicht ist es auch unnötig.


Jein, es sammeln sich schon sehr viele Logs, Picklisten, gelöschte Kunden + Bilder an, die eine Datenbank unnötig aufblähen.
Diese werden von uns regelmäßig gelöscht und dann über JTL Indizis neu gesetzt.

Daher die Frage, ob die Auslösung von diese StoredProcedure vielleicht was besser macht.
Du kannst dir ja ansehen, was die Stored Procedure macht. Also was da abgearbeitet wird.
Aber ob du die Befehle von Hand startest, oder die Stored Procedure startest, macht keinen Unterschied. Insofern ein "Nein" auf deine Frage - die Stored Procedure kann es nicht besser.
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
589
149
Die SQL DB ist bereits optimiert, hat damit weniger zu tun.
Wie jede SQL Datenbank benötigt auch der SQL Server, damit eine SQL Query performant ablaufen kann, Indizes auf wichtigen Felder und zusätzliche Informationen, wie selektiv ein gewisser Index ist (=Statistiken).

Der SQL Server berechnet die Indexstatistiken bei Erreichen eines bestimmten Schwellenwerte standardmässig selbständig neu. Er sagt also, wenn sich z.B. 20% einer Tabelle geändert haben, hat sie sich "wesentklich" geändert, also "Schwellenwert überschritten", also werden die Statistiken neu erstellt (den tatsächlichen Wert weiß ich nicht genau, vielleicht eher Richtung 10%).
Das genügt nicht immer. Daher gibvt es, Empfehlungen die Indexstatistiken manuell zu optimieren. Wie bei allem gibt es auch hier verschiedene Meinungen, aber auch schon das JTL die Optimierungsskripte von Ola Hallengren in ihre Wawi eingebaut hat kann man als Hinweis darauf ansehen, dass diese Dinge ja nicht ganz unnötig sein können.

In den Indexstatistiken werden Informationen über die Werteverteilung der indizierten Spalten abgelegt. Indexstatistiken müssen – genau wie die Indizes selbst – regelmässig gewartet werden.
Wenn Indexstatistiken nicht erstellt wurden kann das dazu führen, dass der Query Analyzer einen Index gar nicht verwendet. Dasselbe ist auch der Fall, wenn die Statistiken veraltet sind, weil die Datenbankengine dieser alten Statistik nicht mehr traut.
 
  • Gefällt mir
Reaktionen: Christoph E.

topsi

Aktives Mitglied
27. November 2018
57
5
Also ich lasse bei uns täglich nachts die spOptimieren drüberlaufen. Diese Procedure startet auch die IndexOptimize mit sinnvollen Argumenten.
Also EXEC eazybusiness.dbo.spOptimieren
Ob du solche Wartungsarbeiten per Aufgabenplanung, oder mit dem SQL-Agent ausführen läßt, oder die Befehle manuell eintippst ist ja egal - führt immer zum selben Ergebnis.
Übrigens: als wir noch bei Ecomdata waren hatten wir sowieso keinen Zugriff auf den SQL-Agent...

Tipp: Schau dir doch die spOptimieren mal an, was die macht und was sie mit welchen Parameter aufruft.
Ja der Agent ist inaktiv, ich teste es mit der Aufgabenplanung. Danke Dir !
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
589
149
Noch 2 Fragen: spOptimieren macht das was ich manuell über die Performanceoptimierung starte ?
Ich habe keinen Einblick in den Sourcecode der Wawi und weiß deshalb nicht genau, was beim Anwählen der Performanceoprimierung alles ausgeführt wird.
Wenn du nachschauen willst, was in dem Moment per SQL an die Datenbank übertragen wird, kannst du das mit jedem beliebigen SQL Sniffer machen. Wenn ich mich recht erinnere ist im Wawi Verzeichnis auch schon ein passendes Tool dabei. Dann kannst du das an die DB übertragene SQL mit der spOptimieren vergleichen.

(Außer Filestream da wir sql standard haben)
Ich verstehe nicht ganz, was du meinst, bzw. was hierzu deine Frage ist.
Filestream ist kein spezielles Feature von Standard oder Express. Es ist vielmehr ein Feature des SQL-Servers.


kannst du mir sagen wie ich den befehl über die aufgabenplanung starte? TX
So wie ich dich verstanden habe (s.o.), habt ihr doch die Standard Version des SQL-Servers.
D.h. du hast den SQL-Agent und kannst doch die Aufgaben von diesem Ausführen lassen (also brauchst du ja gar keine Windows Aufgabenplanung)
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Datenbank exportieren bzw. downloaden User helfen Usern - Fragen zu JTL-Wawi 13
Neu DELETE-Anweisung steht in Konflikt mit der REFERENCE-Einschränkung - eazybusiness-Datenbank Error JTL-Wawi - Fehler und Bugs 2
Neu Laufzeit von Stored Procedures in der Datenbank - Anzeige Fortschritt? Wawi steht still... JTL-Wawi - Ideen, Lob und Kritik 5
Neu Datenbank Verwaltung Anmeldung nicht möglich User helfen Usern - Fragen zu JTL-Wawi 8
Neu SQL Datenbank mit JTL-Wawi 1.0.8.1 wiederherstellen User helfen Usern - Fragen zu JTL-Wawi 6
Neu Sicherheitswarnung - Wawi Datenbank (sa) Passwort mit öffentlichem Tool entschlüsselbar JTL-Wawi - Ideen, Lob und Kritik 23
Neu Artikel in eigener Datenbank löschen, der sich im FFN Network befindet User helfen Usern - Fragen zu JTL-Wawi 0
Neu Gelöschte Positionen in Aufträgen aus der Datenbank exportieren User helfen Usern - Fragen zu JTL-Wawi 2
Neu Passwort der Datenbank vergessen - wie kann man es zurücksetzten? User helfen Usern - Fragen zu JTL-Wawi 7
Neu tLizenzlog bohrt Datenbank um 2,6 GB auf User helfen Usern - Fragen zu JTL-Wawi 4
Neu SQL in der Shop Datenbank legt den JTL Shop (5.1.5) lahm User helfen Usern - Fragen zu JTL-Wawi 11
Datenbank kompatibel mit Wawi 1.6? JTL-Wawi 1.7 3
Neu Funktionsattribut von der Datenbank herausfinden Plugins für JTL-Shop 1
Neu Datenbank voll? // Update abgebrochen User helfen Usern - Fragen zu JTL-Wawi 3
Neu Fehler nach Datenbank Update User helfen Usern - Fragen zu JTL-Wawi 9
Neu Datenbank Aktualisieren 2014 auf 2019 Installation von JTL-Wawi 13
Neu Datenbankverwaltung! Wo ist meine Datenbank? User helfen Usern 1
In Diskussion POS Datenbank automatisiert sichern? Allgemeine Fragen zu JTL-POS 8
Neu Verkaufliste automatisch täglich ausgeben User helfen Usern - Fragen zu JTL-Wawi 1
In Diskussion Workflow, um Amazon-Max-Bestand täglich für alle Angebote neu zu setzen JTL-Workflows - Ideen, Lob und Kritik 1

Ähnliche Themen