Zum Inhalt wechseln


Foto

SQL Server Performance steigern

Windows Server 2003 SQL MS SQL

  • Bitte melde dich an um zu Antworten
37 Antworten in diesem Thema

#16 zahni

zahni

    Expert Member

  • 16.379 Beiträge

 

Geschrieben 22. Mai 2014 - 20:25

Indizes verändern nichts am Schema der DB Eventuell muss man bei unique Indizes etwas aufpassen.

Man kann das sogar als Aufgabe des Datenbank-Admins ansehen, die zu erstellen und zu pflegen.

Mit anderen Aktionen (außer der fetten Hardware-Keule) erreichst Du so gut wie nichts und riskierst Störungen.


Wen du nicht mit Können beeindrucken kannst, den verwirre mit Schwachsinn!


#17 Daniel -MSFT-

Daniel -MSFT-

    Expert Member

  • 2.434 Beiträge

 

Geschrieben 22. Mai 2014 - 21:26

Noch eine Frage zur Hardware: Hat der RAID-Controller einen batterie- oder flash-gepufferten Writecache? RAID5 ist so ziemlich das ungünstigste für Datenbanken aufgrund der unterirdischen Schreibleistung: http://www.baarf.com

RAID10 wäre auf jeden Fall ein Fortschritt.

.: Daniel Melanchthon :.

 

Ich arbeite für die Microsoft Deutschland GmbH.

Koinzidenz begründet keine Korrelation und ist kein Beweis für Kausalität.

 

Hinweis zur Rechtsverbindlichkeit dieser Informationen

Diese Informationen sind Hinweise, die das Verständnis hinsichtlich der Microsoft Produktlizenzierung verbessern sollen. Microsoft weist ausdrücklich darauf hin, dass diese Informationen keinen rechtsverbindlichen Charakter haben, sondern als erklärende Informationen zu verstehen sind. Die einzig rechtsverbindlichen Lizenzinformationen sind in den entsprechenden Endnutzer-Lizenzverträgen (als Beilage zu Softwarepaketen oder in Form von Lizenzverträgen) zu finden.


#18 nahemoth

nahemoth

    Member

  • 186 Beiträge

 

Geschrieben 23. Mai 2014 - 08:46

Hallo,

 

ich habe mir heute mal mittels dm_db_index_physical_stats() die Fragmentierung der Indexe angeschaut. Ich habe mir eine Liste der Indexe, bei denen der Wert in avg_fragmentation_in_percent bei über 50 liegt ausgeben lassen ... es sind schon einige. Bei manchen liegt der Wert sogar bei über 99.

Leider Fehlen mir hier Erfahrungswerte, sollten diese Indexe reorganisiert werden? Welche Werte sind denn hier vertretbar?

 

Vielen Dank!


Bearbeitet von nahemoth, 23. Mai 2014 - 08:46.


#19 zahni

zahni

    Expert Member

  • 16.379 Beiträge

 

Geschrieben 23. Mai 2014 - 09:23

Schau  mal hier

 

http://msdn.microsof...y/ms189858.aspx

 

Ich empfehle Dir, dass Du Dir  eine Testumgebung oder zumindest eine Testkopie der  DB anlegst, in der Du experimentierten kannst.

 

Übrigens deutet das Vorhandensein von Indizes nicht darauf hin, dass sie ei Abfragen auch verwendet werden. Spalten mit PK's  haben übrigens immer einen Index (zumindest unter DB2)

Hier sollest Du,  wir  weiter oben beschrieben, mit dem Profiler ran. Du kannst ja die empfohlenen Indizes mit der Hersteller der Software abstimmen und erst dann erstellen.

 

 

Ansonsten solltest Du Dir jemanden  suchen, der sich in der Administration des SQL-Servers auskennt...


Wen du nicht mit Können beeindrucken kannst, den verwirre mit Schwachsinn!


#20 nahemoth

nahemoth

    Member

  • 186 Beiträge

 

Geschrieben 23. Mai 2014 - 10:09

Hallo Zahni,

 

eine Testumgebung mit einer Kopie der Datenbank habe ich, sonst wäre mir das auch zu heiß.

Dass einige Indizes vorhanden sind, war mir vorher schon klar, nur habe ich keine Erfahrungswerte, was die Fragmentierung angeht.

 

Mit dem Profiler habe ich einen Workload erstellt und wollte das im Tuning Advisor einlesen. Dieser hängt dann aber bei Consuming Workload mit dem Fehlertext "Tuning process exited unexpectly".



#21 zahni

zahni

    Expert Member

  • 16.379 Beiträge

 

Geschrieben 23. Mai 2014 - 10:26

Welche SQL-Server  Version und welches  SP hast Du denn ?

 

Sieh dazu u.a.  http://support.micro....com/kb/2728419


Wen du nicht mit Können beeindrucken kannst, den verwirre mit Schwachsinn!


#22 nahemoth

nahemoth

    Member

  • 186 Beiträge

 

Geschrieben 23. Mai 2014 - 10:42

Es handelt sich um einen SQL Server 2005 RTM



#23 zahni

zahni

    Expert Member

  • 16.379 Beiträge

 

Geschrieben 23. Mai 2014 - 10:52

Dann würde ich zuerst mal in der Testumgebung das letzte SP installieren.

Solche alten Versionsstände können auch  für Performance-Probleme verantwortlich sein.

 

Wenn nicht hilft, kannst Du bei Google mal Deinen Fehler eingeben. Da  kommen "einige" Treffer...


Wen du nicht mit Können beeindrucken kannst, den verwirre mit Schwachsinn!


#24 Sunny61

Sunny61

    Expert Member

  • 22.094 Beiträge

 

Geschrieben 23. Mai 2014 - 11:19

Es handelt sich um einen SQL Server 2005 RTM


In der Echt- und/oder Testumgebung?

Hier gibt es das SP4 für den SQL 2005 zum Download: http://www.microsoft...ls.aspx?id=7218
Veröffentlichungsdatum: 17.12.2010!

Möglicherweise auch noch das ein oder andere UR, das mußt Du allerdings selber suchen.

Als Berater in Sachen Performance empfehle ich immer gerne den Uwe Ricken: http://db-berater.blogspot.de/
Gruppenrichtlinien: http://www.gruppenrichtlinien.de/

#25 nahemoth

nahemoth

    Member

  • 186 Beiträge

 

Geschrieben 26. Mai 2014 - 06:33

Hallo,

 

das war in der Testumgebung, im Echt fehlt SP4, wird aber nun nachinstalliert. Die Indexe sind in beiden DBs gleich stark fragmentiert.



#26 nahemoth

nahemoth

    Member

  • 186 Beiträge

 

Geschrieben 27. Mai 2014 - 10:01

Hallo,

 

so, das mit den Indexen habe ich an der Softwarehersteller weitergegeben, der kümmert sich darum.

Was mich noch beschäftigt, der Hohe Ausschlag im Ressourcenmonitor was die Schreibvorgänge auf der Platte betrifft.

 

Ich habe mir mal die Ausgabe von sys.dm_io_virtual_file_stats angeschaut, aber kann mit der Ausgabe eigentlich nichts anfangen, da ich hier über keine Erfahrungswerte verfüge.

 

Kann hier jemand mit Erfahrungswerten dienen?

 



#27 Dukel

Dukel

    Board Veteran

  • 9.245 Beiträge

 

Geschrieben 27. Mai 2014 - 10:44

Ist die Datendisk mit 64k Blöcken formatiert? Sind die Daten und Transaktionsprotokolle auf unterschiedliche Disks aufgeteilt?


Stop making stupid people famous.


#28 nahemoth

nahemoth

    Member

  • 186 Beiträge

 

Geschrieben 27. Mai 2014 - 10:53

Ja, das Tranactionsprotokoll und die Datenbank liegen auf unterschiedlichen Platten.

Wie kann man das mit den 64k Blöcken prüfen?



#29 Dukel

Dukel

    Board Veteran

  • 9.245 Beiträge

 

Geschrieben 27. Mai 2014 - 11:04

fsutil fsinfo ntfsinfo G:

die Blockgröße findest du unter

Bytes Per Cluster

 

Dies gilt aber nur für die Datenbankfiles. Die Partition mit den Transaktionsprotokollen sollte auf dem default (4k) bleiben.

 

http://netic.wordpre...rmance-tunning/

http://technet.micro...v=sql.100).aspx

 

Evtl. helfen folgende Tipps auch bei nicht SharePoint Datenbanken:

http://sharepointszu...point-umgebung/


Bearbeitet von Dukel, 27. Mai 2014 - 11:05.

Stop making stupid people famous.


#30 nahemoth

nahemoth

    Member

  • 186 Beiträge

 

Geschrieben 27. Mai 2014 - 11:06

Vielen Dank!

die Partition mit der Datenbank hat 4096 Bytes pro Cluster und auch die mit dem Transactlog hat 4096 Bytes pro Cluster.


Bearbeitet von nahemoth, 27. Mai 2014 - 11:13.




Auch mit einem oder mehreren der folgenden Tags versehen: Windows Server 2003, SQL, MS SQL