[Gelöst] Sperrende Benutzer identifizieren

8. Juli 2013 12:28

Hallo zusammen,

ich freue mich - nach langer Zeit - mal wieder zurück hier im Forum zu sein.

Unserer Firma plant für kommendes Jahr ein Update unserer NAV-Version von 4.03 auf 2013 - daher komme auch ich wieder auf den "Plan".
Nach der Theorie (also Abarbeitung diverser Bücher; Online-Hilfe; Forum und diversen downloadbare Dokumente) fange ich jetzt an, mich auch praktisch mit NAV 2013 auseinanderzusetzen.
Und hier habe ich gleich mal eine Frage, zu der ich bisher keine Info gelesen/gefunden habe.

Bei NAV 4.03 gab es die Möglichkeit, über ">Datei >Datenbank >Informationen >Aktive Sessions" evtl. sperrende Benutzer zu identifizieren.
Dies war zwar nur selten notwendig (und hier i.d.R. bedingt durch eine nicht ganz sauberer Programmierung) aber es kam vor.
Auch in NAV 2013 dürfte es doch eigentlich nicht auszuschließen sein, das es auch mal zu Sperrungen kommt?! Wie kann ich den verursachenden User hier identifizieren.
Über "Sessions" ist das ja scheinbar nicht möglich.

Gruß
Ralf
Zuletzt geändert von neckit am 9. Juli 2013 10:14, insgesamt 1-mal geändert.

Re: Sperrende Benutzer identifizieren

8. Juli 2013 13:07

Willkommen zurück!
Hm, ich könnte dir nur vorschlagen, wie du (die bereits identifizierte) Session killen kannst: http://mohana-dynamicsnav.blogspot.de/2 ... v2013.html

Beim SQL-Server-seitigen Identifizieren von Sperren könnte das hier möglicherweise helfen: http://dynamicsuser.net/blogs/stryk/arc ... erver.aspx

Re: Sperrende Benutzer identifizieren

8. Juli 2013 13:34

Hallo Natalie,

vielen Dank für die prompte Rückantwort.

Allerdings ist mir schon bekannt, wie ich "Sessions kille" und Stryk's Beitrag ist echt interessant aber für mich etwas zu überdimensioniert.
Es geht mir ja nicht darum, alle Sperrungen stetig zu protokollieren; sondern nur - vielleicht 5-6 mal im Jahr den Benutzern weiterzuhelfen, die "Schreien", weil sie schon länger von jemand anderem blockiert werden.

Ich bin mir mittlerweile fast schon sicher, das NAV 2013 direkt keine Möglichkeit mehr bietet, auf Anfrage die sperrenden Benutzer auszuspucken (schade eigentlich!).
Aber vielleicht - kann man z.B. über eine Query-Abfrage - direkt beim SQL-Server anfragen, welche Sperrungen gerade vorliegen.
Notfalls würde mir auch eine "stored Procedure" oder dergleichen reichen, die ich ggf. über das "SQL Server Management Studio" aufrufen könnte!?

Vielleicht noch jemand eine Idee?

Gruß
Ralf

Re: Sperrende Benutzer identifizieren

8. Juli 2013 15:58

wimre konnte man das mit dem (SQL-)Profiler rausbekommen.

Re: Sperrende Benutzer identifizieren

9. Juli 2013 08:06

Hallo Markus,

danke für den Tipp!
Ich meines zwar, ich hätte in irgendeinem Blogbeitrag von Stryk (ich glaube in Verbindung mit Deadlocks) gelesen, das Sperrungen mit dem SQL-Profiler nicht zuzuordnen seien, aber ich kann mich auch täuschen. Einen Versuch ist es auf jeden Fall wert.
Da ich im Moment nur die Demo-Version zur Einarbeitung verwende, kann ich es nicht provozieren und testen. Wenn ich dann mal irgendwann die Gelegenheit habe, gebe ich eine Rückmeldung ob es geklappt hat.

Gruß
Ralf

Re: Sperrende Benutzer identifizieren

9. Juli 2013 08:35

Hallo,

soweit mir bekannt ist kann man im Aktivitätsmonitor vom SQL-Server sehen, von welchen Prozess mein Prozess gesperrt ist.

Gruß

Michael

Re: Sperrende Benutzer identifizieren

9. Juli 2013 10:02

Hey - das sieht gut aus!

Den Aktivitätsmonitor kannte ich noch nicht - hier gibt es ja tatsächlich eine Spalte "Blockiert von".
Wenn die Spalte das hält, was sie verspricht, ist es genau das was ich gesucht habe.
Jetzt habe ich auf jeden Fall einen Anhaltspunkt, wo ich schauen kann, wenn sich mal jemand über eine Sperrung beschweren sollte.

Vielen Dank Michael :-D

Gruß
Ralf