Jump to content

Langsame SQL-Datenbank (Sage) - Fehlerquelle finden?


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Dazu müsste man mehr Informationen haben.

 

- wie ist die Anbindung der Clients an den SQL - Gigabit-LAN?

- bei größeren Installationen (nach meiner Erinnerung, lange her...) war der Anwendungs-Server vom SQL getrennt, wie ist da die Verbindung (wenn denn so...)

- ist der Server physisch oder VM, was sit für ein Storage drunter

- liegt die SQL-DB auf einer separaten Platte / Volumen?

- sieht man Last auf dem SQL bei Abfragen I/O (Stichwort Perfmon..)

- ....

 

;)

Link zu diesem Kommentar

Hallo,

wir stehen schon mit Sage bzw. Sage-Platin-Partnern in Kontakt - allerdings sind die auch nicht die Schnellsten! :-)

 

Die Clients sind mit Gigabit am Netz angeschlossen.

Bei uns ist es ebenfalls so - Anwendungs-Server und SQL-Server sind getrennt. Die DB liegt auf einer separaten Platte. Beide Server sind physisch. Auf dem Server laufen auch noch andere DBs die solche Effekte nicht haben!

Dieses Zeitmanko tritt tatsächlich nur bei größeren Berichten auf.

Link zu diesem Kommentar

Wird als DBMS ein MS-SQL Server eingesetzt ?

 

Auf einem Azure System konnte ich die Query Performance auf einem SQL Server 2014 immerhin verdoppeln

(Achtung gilt nur für den SQL Server 2014 - Das Ganze nicht direkt in der Produktion umsetzen).

 

Prüfung der Ursprungsperformance via sql Query Stress 0.9.7 und nach den Optimierungen erneut prüfen.

https://www.mssqltips.com/sqlservertip/2730/sql-query-stress-tool/

Hier ruft man eine möglichst auslastende Prozedur in der DB aus und lässt diese z.B. 1000-10000 durchlaufen und merkt sich den Mittelwert.

 

Optimierungs Möglichkeiten:

-Compatiblity Level der Datenbank auf neustes setzen (z.B. SQL Server 2014(120)

=> Erst dadurch greifen diverse Performance Verbesserungen im jeweiligen SQL Server

 

Bei SQL Server 2014 z.B:

-kleine SSD im Server montieren

=> Funktion Speicher für Temporäre DB & Bufferpool (http://searchsqlserver.techtarget.com/definition/buffer-pool)

 

 

-Temporäre DB auf SSD auslagern:

USE MASTER 


GO 


ALTER DATABASE tempdb MODIFY FILE (NAME= tempdev, FILENAME= 'D:\sqlcache\tempdb.mdf') 

GO 

-Bufferpool aktivieren (Achtung ! Bufferpool darf maximal die vierfache (bei der Standard-Edition) Größe des Arbeitsspeichers betragen, ansonsten startet der SQL Server nicht mehr).

Beim SQL Server 2014 Express liegt das Limit wohl sogar bei nur 1GB.

Falls der SQL Service nicht mehr startet, muss man den Bufferpool wieder via SQLCMD deaktivieren und im Anschluss mit den geringeren Werten wieder aktivieren.

--enable Buffpool 

USE master  

GO 


ALTER SERVER CONFIGURATION  

SET BUFFER POOL EXTENSION ON 

    (FILENAME = 'D:\sqlcache\SQL2014.BPE', SIZE = 16 GB); 

GO 

bearbeitet von PowerShellAdmin
Link zu diesem Kommentar

Wartungsplan (Neuindizierung, Statistiken) ausführen.

Neue Indizes müssen zu den Queries passen. Da ein Admin die nicht kennt, hilft nur

 

https://msdn.microsoft.com/de-de/library/ms166575(v=sql.110).aspx

 

Zur Bufferpool Extension:

 

Erstmal lesen, was das ist:  https://msdn.microsoft.com/de-de/library/dn133176(v=sql.120).aspx

bearbeitet von zahni
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...