Zum Inhalt wechseln


Foto

MS SQL Server 2012 Datenbank Optimieren, aber wie Richtig?

MS SQL

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

#16 NilsK

NilsK

    Expert Member

  • 12.334 Beiträge

 

Geschrieben 18. November 2014 - 16:13

Moin,

 

Informiere dich über Backup / Recovery von SQL Servern. Du willst nicht jede Stunde ein DB Backup erstellen sondern nur Transaktionslogsicherungen.

 

 

korrekt. Wir hatten mal einen Fall, da hat ein Kunde "nur" alle vier Stunden ein DB-Backup erzeugt. Das Backup dauerte vier Stunden ... der Server war also immer unter unnötig hoher Last. Manchmal lief ein Backup noch, wenn das nächste starten sollte, was jedes Mal zu Fehlern geführt hat.

 

[SQL Server: Wie Datenablage, Backup und Recovery funktionieren | faq-o-matic.net]
http://www.faq-o-mat...-funktionieren/

 

Gruß, Nils


Nils Kaczenski

MVP Cloud and Datacenter Management
... der beste Schritt zur Problemlösung: Anforderungen definieren!

Kostenlosen Support gibt es nur im Forum, nicht privat!


#17 Husker

Husker

    Newbie

  • 14 Beiträge

 

Geschrieben 18. November 2014 - 16:22

 

Und auf dem Server läuft noch weiterer Workload? Andere VM's? Dann ist es kein Wunder, dass das System langsam ist.

Wird bei euch keine Verfügbarkeit gefordert?

 

Ja ...

Also ...

Der Server also die Pysische Maschiene beherbergt mehrere VMs

 

1. DNS (DC)

2. SQL Server

3. Linux Server für eine kleine Webapplication --> Hat aber nur 3 GB RAM und keine wirklich auslastung

4. Linux Server für Webapplication --> Der wurde für ein ShowCase eingerichtet (also der macht im Moment nix)

5. Terminal Server der die Application für Externe Mitarbeiter bereitstellt, sind aber selten mehr als User gleichzeitig online ,.,,. meist eher wir Admins .....

 

An dieser stelle sei noch eins geagt ...

ich weis selber das die Config so nicht Optimal ist den DC als HV laufen zu lassen ist vermutlich das erste ...

aber um es Klip und klar zu sagen --> ich habe nur diesen einen Server ....

 

 

 

Informiere dich über Backup / Recovery von SQL Servern. Du willst nicht jede Stunde ein DB Backup erstellen sondern nur Transaktionslogsicherungen.

 

Tja das ist nach Indexzierung meine nächste Baustelle ....(Wissenstechnisch)

wenn es Tiefer in den SQL Server geht, fehlt halt einfach wissen :-)

Wird nachgeholt versprochen !

 

Bisher hatten wir nur 1 x die Situation das wir ein Backup zurückspielen mussten, damals hatten wir noch die Transaktions logs ...

wir haben es aber nur über das Full Backup wieder hinbekommen ,,,,

 

 

 

Wird bei euch keine Verfügbarkeit gefordert?

 

naja klar, aber man kann ja nicht Hexen ... Klar ein 2Ter SQL Server als FailOver wäre Sexy ...

aber wenn der Kunde (Chef) das nicht zahlen will, was willste machen !


 

 

Sind die Platten für OS und VM's oder gibt es für den Hypervisor eigene Disks?

 

Also der Server Arbeitet mit 2 Partitionen .....

Wenn ich hier ein bild hochladen könnte, würde ich euch screenshots machen, aber ich kann nur bilder Links einfügen aber keine Hochladen ...

 

1 Partition OS Server

2 Partition Datenablage --> z.b. für die Virtuellen Disks ...



#18 monstermania

monstermania

    Board Veteran

  • 1.178 Beiträge

 

Geschrieben 18. November 2014 - 16:26

Moin,

also SATA-Platten im HOST.

Wahrscheinlich läuft auch noch das Host OS (Hyper-V) und X weitere VM's auf dem gleichen RAID, oder? Wohlmöglich noch ein kleiner Exchange?

Wie ich bereits angemerkt habe würde ich mich erst einmal um eine vernünftige Hardware im Host kümmern, bevor ich mir Gedanken um eine Optimierung der Datenbank machen würde...

In einen performanten Server gehören zumindest SAS-Platten (besser noch SSD)! Und als Faustregel gilt: Je mehr Spindeln desto schneller!

 

Interessant auch die Konstellation. 32 vCore's und SAS-Platten im HOST! Welcher Id..t stellt ein solches System zusammen!?

 

Gruß

Dirk



#19 NorbertFe

NorbertFe

    Expert Member

  • 30.605 Beiträge

 

Geschrieben 18. November 2014 - 16:29

Interessant auch die Konstellation. 32 vCore's und SAS-Platten im HOST! Welcher Id..t stellt ein solches System zusammen!?


Du meinst SATA/NL-SAS ;) Und wahrscheinlich war's "groß", schnell kommt erst danach als Anforderung. ;)

Make something i***-proof and they will build a better i***.


#20 monstermania

monstermania

    Board Veteran

  • 1.178 Beiträge

 

Geschrieben 18. November 2014 - 16:33

Ja ...

Also ...

Der Server also die Pysische Maschiene beherbergt mehrere VMs

 

1. DNS (DC)

2. SQL Server

3. Linux Server für eine kleine Webapplication --> Hat aber nur 3 GB RAM und keine wirklich auslastung

4. Linux Server für Webapplication --> Der wurde für ein ShowCase eingerichtet (also der macht im Moment nix)

5. Terminal Server der die Application für Externe Mitarbeiter bereitstellt, sind aber selten mehr als User gleichzeitig online ,.,,. meist eher wir Admins .....

 

An dieser stelle sei noch eins geagt ...

ich weis selber das die Config so nicht Optimal ist den DC als HV laufen zu lassen ist vermutlich das erste ...

aber um es Klip und klar zu sagen --> ich habe nur diesen einen Server ....

 

 

Tja das ist nach Indexzierung meine nächste Baustelle ....(Wissenstechnisch)

wenn es Tiefer in den SQL Server geht, fehlt halt einfach wissen :-)

Wird nachgeholt versprochen !

 

Bisher hatten wir nur 1 x die Situation das wir ein Backup zurückspielen mussten, damals hatten wir noch die Transaktions logs ...

wir haben es aber nur über das Full Backup wieder hinbekommen ,,,,

 

 

naja klar, aber man kann ja nicht Hexen ... Klar ein 2Ter SQL Server als FailOver wäre Sexy ...

aber wenn der Kunde (Chef) das nicht zahlen will, was willste machen !


 

Also der Server Arbeitet mit 2 Partitionen .....

Wenn ich hier ein bild hochladen könnte, würde ich euch screenshots machen, aber ich kann nur bilder Links einfügen aber keine Hochladen ...

 

1 Partition OS Server

2 Partition Datenablage --> z.b. für die Virtuellen Disks ...

 

Also nochmal!

Kümmere Dich darum, dass der HOST ein performantes Plattensystem bekommt! Bei 5 VM's und dem HOST auf einem SATA RAID mit 4 Disks brauchst Du Dich nicht zu wundern, wenn der SQL-Server lahmt! Wo soll die Performance denn herkommen?

 

Gruß

Dirk


Du meinst SATA/NL-SAS ;) Und wahrscheinlich war's "groß", schnell kommt erst danach als Anforderung. ;)

 

Für mich läuft auch NL-SAS unter SATA. ;)

Von den IOPS her macht das keinen merkbaren Unterschied.



#21 Husker

Husker

    Newbie

  • 14 Beiträge

 

Geschrieben 18. November 2014 - 16:34

 

Moin,

also SATA-Platten im HOST.

Wahrscheinlich läuft auch noch das Host OS (Hyper-V) und X weitere VM's auf dem gleichen RAID, oder? Wohlmöglich noch ein kleiner Exchange?

Wie ich bereits angemerkt habe würde ich mich erst einmal um eine vernünftige Hardware im Host kümmern, bevor ich mir Gedanken um eine Optimierung der Datenbank machen würde...

In einen performanten Server gehören zumindest SAS-Platten (besser noch SSD)! Und als Faustregel gilt: Je mehr Spindeln desto schneller!

 

Interessant auch die Konstellation. 32 vCore's und SAS-Platten im HOST! Welcher Id..t stellt ein solches System zusammen!?

 

Gruß

Dirk

 

Also ...

Auch hier muss ich mich erstmal Korregieren .,..

habe jetzt beim Hersteller angerufen und Gefragt ...

 

Verbaut ist ein Intel PCI E 3.0 RMS 25PB040 Raidcontroller mit 1 GB Cache

4 x 2 TB Platten SAS nicht SATA3 (habe ich verwechselt)

 

NEIN ES läuft kein Exchange !

 

Was die Hardware angeht, die haben wir nun mal ... mehr ist aktuell einfach nicht Drin ... ! Punkt !



#22 NorbertFe

NorbertFe

    Expert Member

  • 30.605 Beiträge

 

Geschrieben 18. November 2014 - 17:01

2TB SAS dürfte NL-SAS sein, also SATA mit SAS Schnittstelle ;)

Make something i***-proof and they will build a better i***.


#23 Husker

Husker

    Newbie

  • 14 Beiträge

 

Geschrieben 18. November 2014 - 17:07

2TB SAS dürfte NL-SAS sein, also SATA mit SAS Schnittstelle ;)


nein SAS hab extra gefragt

#24 NorbertFe

NorbertFe

    Expert Member

  • 30.605 Beiträge

 

Geschrieben 18. November 2014 - 17:20

Welcher Typ denn? Abgesehen davon sind 3 HDD als Raid-5 wirklich nicht schnell. ;)

Make something i***-proof and they will build a better i***.


#25 zahni

zahni

    Expert Member

  • 16.390 Beiträge

 

Geschrieben 18. November 2014 - 17:22

Kurz mal Klugscheiß-Modus: SATA und SAS sind elektrisch ziemlich identisch. SAS spricht dafür Hochdeutsch und SATA nur Bayrisch.

Daher kann eine SAS-Controller i.d.R. mit SATA umgehen. Oder Besser. SAS versteht SCSI-Kommandos und SATA nicht.

 

http://www.elektroni...com/1105071.htm

 

Daher finde ich HDD's die als SATA mit SAS-Schnittstelle verkauft werden, so sinnvoll wie  vierrädriges  Auto, das mit 4 Rädern verkauft  wird ;) 

 

Generell  werden SAS-HDD aber mit  höheren Datenraten/MTBF/usw. beworben und  verkauft.


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


#26 NorbertFe

NorbertFe

    Expert Member

  • 30.605 Beiträge

 

Geschrieben 18. November 2014 - 17:28

Daher finde ich HDD's die als SATA mit SAS-Schnittstelle verkauft werden, so sinnvoll wie  vierrädriges  Auto, das mit 4 Rädern verkauft  wird ;)


Jaja. ;) Du weißt doch was ich meine. :p

Und ein vierrädriges Auto ohne 4 Räder wäre ja auch doof. ;)

Bearbeitet von NorbertFe, 18. November 2014 - 17:28.

Make something i***-proof and they will build a better i***.


#27 monstermania

monstermania

    Board Veteran

  • 1.178 Beiträge

 

Geschrieben 18. November 2014 - 17:50

Also ...
Auch hier muss ich mich erstmal Korregieren .,..
habe jetzt beim Hersteller angerufen und Gefragt ...
 
Verbaut ist ein Intel PCI E 3.0 RMS 25PB040 Raidcontroller mit 1 GB Cache
4 x 2 TB Platten SAS nicht SATA3 (habe ich verwechselt)
 
NEIN ES läuft kein Exchange !
 
Was die Hardware angeht, die haben wir nun mal ... mehr ist aktuell einfach nicht Drin ... ! Punkt !

Also ...
Auch hier muss ich mich erstmal Korregieren .,..
habe jetzt beim Hersteller angerufen und Gefragt ...
 
Verbaut ist ein Intel PCI E 3.0 RMS 25PB040 Raidcontroller mit 1 GB Cache
4 x 2 TB Platten SAS nicht SATA3 (habe ich verwechselt)
 
NEIN ES läuft kein Exchange !
 
Was die Hardware angeht, die haben wir nun mal ... mehr ist aktuell einfach nicht Drin ... ! Punkt !


Und was erwartest Du jetzt hier im Forum? Das Dir jemand den Schalter für SQL zeigt der Performance bringt? Leider kann hier niemand zaubern.
Du zäumst das Pferd von hinten auf! Mit dieser Hardware (Speichersystem) bekommst Du niemals eine vernünftige Performance hin.
Punkt!

Und ja, Du hast 100%ig SAS-Platten in Deinem Server. Mag sein, dass es sich um NL-SAS handelt. Das sind technisch aber nur SATA Platten die SAS Protokoll sprechen. Von der Performance sind die gleich lahm wie SATA. Das Stichwort lautet: IOPS
Input/Output Operation per Second. Eine SATA Platte liefert ca. 80 IOPS. Eine SAS Platte bringt ca. 200 IOPS.
PUNKT!

Wie sieht es mit den Latenzzeiten auf dem Host aus?

#28 Husker

Husker

    Newbie

  • 14 Beiträge

 

Geschrieben 18. November 2014 - 21:26

 

 

Und was erwartest Du jetzt hier im Forum?

 

Erst einmal Garnichts ....

Ich hatte die Hoffnung das Ihr mir ein paar gute Tipps geben könnt wie ich Grundsätzlich an die Sache Heran gehen kann ....

Klar --> Ich kann mir ein Buch kaufen es Lesen und dan loslegen aber die Erfahrung zeigt .... es geht nichts über Erfahrung und genau die fehlt mit in den einsprechenden Bereichen ....

 

 

 

Und ja, Du hast 100%ig SAS-Platten in Deinem Server. Mag sein, dass es sich um NL-SAS handelt. Das sind technisch aber nur SATA Platten die SAS Protokoll sprechen. Von der Performance sind die gleich lahm wie SATA. Das Stichwort lautet: IOPS

 

Also

da ich mir nicht vorstellen konnte, das mir der Serverhersteller Lame platten verkauft hat.

habe ich noch einmal angerufen, und es mir 

 

1. noch einmal bestätigen lassen, das es sich um vollwerttige SAS platten handelt ... --> Aussage JA !

2. habe ich mir natürlich noch das genaue Modell sagen lassen, damit ich das überprüfen kann ---> Soweit ich das Beurteilen kann sind es Vollwertige SAS platten

 

Model: Seagate Constellation ES.3 (ST2000NM0023) So um das Abschließend zu klären sind das nun SAS platten oder nicht ?

Als ich den Server gekauft habe war eine Anforderung Schnelle Platten.....

 

Damit Aber auch klar ist, das ich mir eure Hinweise zu Herzen nehme  habe ich mir gleich ein Angebot schicken lassen den Server mit 2 SSD Platten aufzurüsen für das eigentliche Main OS ....

 

 

 

Wie sieht es mit den Latenzzeiten auf dem Host aus? 

 

Ich bin mir aktuell nich ganz sicher wie die Frage gemeint ist (Sehr Allgemein)

aber Grundsätzliches dazu:

 

Das Netzwerk ist komplett 1Gbit

Wir haben außschließlich Cat 7/6 Kabel Verlegt ...

Wir haben nur Hochwerte Switches gekauft mit Metallgehäuse von Netgear ..

 

Was nun aber tatsächlich im netzwerk los ist ....

Ich habe Speedtests gemacht und habe rein rechnerisch fast die Volle Bandbreite anliegen ...

Beim Kopieren von Daten im Netzwerk erreiche ich Stabiele 98 MB/s

 

oder meintest du mit Latenz was anderes ?

 

Ich denke wirklich das die Langsam Werdende Performance vermutlich mit 2 Faktoren zusammenhängt

 

1. Den Fehlenden Indizes

2. Schlechte SQL Abfragen im Frontend .... --> viele SELECT * Abfragen die ja einfach ein Performance Killer sind ...


Ich werde erstmal morgen die Ergebnisse der Aufzeichnungen des SQL Profilers auswerten und schauen, welche Abfragen überhaupt am meisten stattfinden ...

alles andere wäre eh nur geraten :-)



#29 Sunny61

Sunny61

    Expert Member

  • 22.101 Beiträge

 

Geschrieben 18. November 2014 - 21:28

1. Den Fehlenden Indizes
2. Schlechte SQL Abfragen im Frontend .... --> viele SELECT * Abfragen die ja einfach ein Performance Killer sind ...


Beiden SQL Abfragen kannst Du ja anfangen 'Verbesserungen' einzubauen. Schadet nicht und ist sauberer als mit dem Stern. ;)
Gruppenrichtlinien: http://www.gruppenrichtlinien.de/

#30 Husker

Husker

    Newbie

  • 14 Beiträge

 

Geschrieben 18. November 2014 - 21:43

Japp anfangen werde ich damit auch ...

aber bis ich aus dem  Prog alle SELECT * Abfragen raus habe, haben wir die nächste Eiszeit :-)

Ich weis es wirklich nicht genau, aber ich denke mal wir reden hier ganz locker von Mehreren Tausend SQL Statments im Code :-)





Auch mit einem oder mehreren der folgenden Tags versehen: MS SQL