yotyot
Goto Top

Hohe Leselast auf MS-SQL-Datenbank

Guten Morgan alle!

Wir setzen für unser inzwischen nicht mehr ganz taufrisches MS CRM 2011 den MS SQL Server 2012 Standard ein. Normalerweise tut der seinen Dienst und ist ein sparsamer Geselle. Seit drei, vier Tagen allerdings verzeichne ich rund um die Uhr Lesezugriffe auf die CRM-Datenbank (es gibt insgesamt sieben Datenbanken, es betrifft aber nur genau eine), die unnormal hoch sind. "Unnormal hoch" bedeutet: 10-30 MB/s, 24/7. Normal kann gerne auch mal eine Stunde lang praktisch null da stehen, seit kurzem nicht mehr.

Wie kann ich herausfinden, wer oder was diese Lesezugriffe verursacht? sp_who / sp_who2 hilft mir nicht weiter. Der Aktivitätsmonitor ebenfalls nicht. Fehler gibt es soweit nicht und das CRM selbst führt nur die üblichen asynchronen Tasks aus, die immer da sind. Nach einem Neustart war erst für drei, vier Stunden Ruhe, also keine auffälligen Zugriffe und dann fing es wieder an. Immer auf die gleiche Datenbank, Lesezugriffe konstant hoch, wobei man in der VMware-Console deutlich an dem Graphen sehen kann, dass es regelmäßige Spitzen gibt, dort sehe ich eine akkurate Zickzacklinie zwischen 7 und 30 MB/s. Im Windows-Ressourcenmanager sieht das nicht ganz so sauber aus.

Gibt es eine Möglichkeit, mehr als die angemeldeten User ausfindig zu machen?

Gruß

Jörg

Content-ID: 354063

Url: https://administrator.de/contentid/354063

Ausgedruckt am: 24.11.2024 um 16:11 Uhr

ukulele-7
ukulele-7 08.11.2017 um 10:30:42 Uhr
Goto Top
Du könntest die DB mal neu starten und vom Netz trennen. Hast du dann auch eine Last auf der DB? Läuft auf dem DB System noch ein Dienst vom CRM oder nur die SQL DB?
YotYot
YotYot 08.11.2017 um 10:53:44 Uhr
Goto Top
Hi Ukulele,

wenn ich die DB neu starte, ist für eine Zeit lang Ruhe, genauso wie beim Neustart. Auf dem Server läuft nur der SQL-Server, keine CRM-Dienste und auch sonst nichts weiter, nicht einmal ein Virenscanner. Es werden alle paar Minuten einige SSIS-Scripts gestartet, die aber eine andere DB auf dem gleichen Server bedienen. Das impliziert, dass es irgendwo aus dem CRM heraus kommt. Auch da bin ich gerade auf der Suche. Wir haben üblicherweise zwei regelmäßige Abfragen von extern zu Auswertungszwecken, die sind inzwischen abgeschaltet, also bleibt wohl nur noch das CRM selbst.
aqui
aqui 08.11.2017 um 10:58:39 Uhr
Goto Top
Mit dem Wireshark mal checken WER über das Netz zugreift und mit welcher Intensität. Dann hat man den oder die Verursacher und anhand der Paket Daten kann man dann meist auch schliessen was es ist.
GrueneSosseMitSpeck
Lösung GrueneSosseMitSpeck 08.11.2017 um 11:30:36 Uhr
Goto Top
oder in den Performance Tools den Trace starten und die SQL Befehle mal mitschneiden, dort sieht man auch von welchen Rechner aus die Abfragen kommen. Könnte ja auch sein daß ein CRM Client eine Race Condition hat in der immer wieder Abfragen gesendet werden.
Volchy
Volchy 08.11.2017 um 13:42:39 Uhr
Goto Top
Hey.

am besten mal Script(s) laufen lassen, die dir die Querys inkl. Zeiten mitschneiden.
Du kannst ggf. auch hier mal schauen. Dort dürftest du einiges an Anregung zu brauchbaren Scripts / oder auch schon ein für dich passendes Script finden.

LG
YotYot
YotYot 09.11.2017 um 08:25:15 Uhr
Goto Top
GrueneSosseMitSpeck - das war der noch fehlende Wink mit dem Zaunpfahl: wir haben vor kurzem neue Firmenhandys mit neuen Nummern bekommen und neulich ist der erste Kollege auf die Idee gekommen, die Kontakte aus dem CRM mal wieder neu zu synchronisieren. Naja, es gibt halt mehr Kollegen und jetzt blasen die alle zum Angriff. Kein Fehler, außer, dass mir nicht einleuchtet, warum man zigtausende von Kontakten auf sein Handy synchronisiert haben will, wenn die Kunden die Nummern sowieso nicht kennen.

Problem ist also nicht wirklich gelöst, sondern eher kein Problem mehr, sondern eine bekannte Ursache.

Danke fürs Mitdenken!

Jörg
YotYot
YotYot 09.11.2017 um 08:26:08 Uhr
Goto Top
Volchy: Eine sehr coole Seite, die wird mich noch eine Weile beschäftigen, kannte ich noch nicht.
YotYot
YotYot 09.11.2017 um 08:29:30 Uhr
Goto Top
aqui: Deinen Vorschlag hätte ich ausgeführt, wenn GrueneSosseMitSpeck nicht dazwischengefunkt hätte. Vermutlich hätte ich damit das gleiche Ergebnis bekommen. Ich will nur mal explizit danke sagen, weil Du auf meine Fragen immer wieder mal antwortest und mir auch schon das eine oder andere mal geholfen hast und das inzwischen seit mehreren Jahren.
YotYot
YotYot 09.11.2017 um 08:42:45 Uhr
Goto Top
Ukulele: weil wir aus anderen Gründen ohnehin nochmal ein paar Server abschalten mussten, habe ich Deinen Vorschlag dazwischengeschoben: ja, ohne Netzwerk keine Last. Ist im Nachhinein klar geworden, weil der Exchange diese Anfragen gestellt hat.
ukulele-7
ukulele-7 09.11.2017 um 08:52:59 Uhr
Goto Top
Ja bevor du gleich Dinge wie Wireshark auspackst würde ich immer erst gucken ob der "Angriff" von Innen oder von Außen kommt. CRMs haben manchmal auch Dienste oder Trigger die nicht sauber laufen. Da du aber was von einer anderen DB auf dem selben Server sagtest ging ich davon aus das das nicht ohne Weiteres möglich ist (wegen nervigen Usern und so face-smile )
YotYot
YotYot 09.11.2017 um 08:56:00 Uhr
Goto Top
Nervige User? Was kennst Du denn für Leute? face-big-smile
aqui
aqui 09.11.2017 um 10:23:48 Uhr
Goto Top
immer erst gucken ob der "Angriff" von Innen oder von Außen kommt.
Und genau DAS macht er ja mit dem Wireshark anhand der IP Adressen. Warum also nicht auspacken.
Aber gut...wenn die bösen Buhmänner nun die Handys sind ist ja eh alles geklärt.