SQL Server fordert eine Zeitüberschreitung an, da TempGetStateItemExclusive kontinuierlich aufgerufen wird

Ich verwende eine Site mit angemessenem Datenverkehr (~ 100.000 Seitenaufrufe pro Tag) und gelegentlich ist die Site aufgrund von SQL Server-Zeitüberschreitungsfehlern in die Knie gegangen.

Wenn ich SQL Profiler ausführe, wird ein Befehl hunderte Male pro Sekunde wie folgt aufgerufen:

...
exec dbo.TempGetStateItemExclusive3 @id=N'ilooyuja4bnzodienj3idpni4ed2081b',...
...

Wir verwenden SQL Server, um den Sitzungsstatus von ASP.NET zu speichern. Das Obige ist die gespeicherte Prozedur, die aufgerufen wird, um den Sitzungsstatus für eine bestimmte Sitzung abzurufen. Es scheint sich zu wiederholen und immer wieder nach denselben 2 oder 3 Sitzungen zu fragen.

Ich habe einen ... gefundenvielversprechend aussehende heiße Verlegenheit Das scheint genau diese Situation anzugehen, aber es scheint das Problem für uns nicht gelöst zu haben. (Ich gehe davon aus, dass dieser Hotfix im neuesten .NET Service Pack enthalten ist, da er nicht mehr direkt installiert werden kann.) Ich habe diesen Registrierungsschlüssel manuell hinzugefügt, aber wir sehen immer noch die wiederholten Aufrufe von gespeicherten Prozeduren wie oben (das Anfordern derselben Sitzung ist viel häufiger als alle 500 ms).

Ich konnte dies auf einer Entwicklungsmaschine nicht nachvollziehen. Wenn zwei Anforderungen für dieselbe Sitzungs-ID gestellt werden, wird die Sitzung anscheinend ordnungsgemäß blockiert und es wird sogar versucht, SQL zu aktivieren, bis die erste Seite die Sitzung freigibt.

Irgendwelche Ideen? Danke im Voraus!!!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage