Frage

Im Rahmen unserer Anwendungsanmeldung gibt es mehrere Abfragen ran, alle um die Login-Validierung. Bei der Bewertung von ihnen bemerkte ich, dass eine der Abfragen ohne den NOLOCK-Hinweis ausgeführt wird.

Es scheint keine besondere Gefahr von Dirty Reads zu sein, weil die Daten ändern kaum jemals würden.

Das Nachdenken über sie von einem versuchten DOS Typ Angriff von jemandem Logins immer und immer wieder scheiterte Versuch, Ich schlage vor, dass der Mangel an NOLOCK unsere Schwelle für Fehler verringert.

Ich glaube, es ein äußerst unwahrscheinlich Ergebnis einer DoS-Attacke ist (ich glaube, der Webserver zuerst gehen würde), aber das Hinzufügen NOLOCK sollte es von unwahrscheinlich bis unmöglich gehen machen.

Also, bin ich übermäßiger oder trivial zu sein?

War es hilfreich?

Lösung

Mit NOLOCKs oder nicht, wird die wenigsten Sorgen mit einem DoS-Versuch gegen Ihren Server.

Ich würde es nicht schwitzen.

Wenn, wie Sie sagen, ändert sich die Daten nur selten, da die NOLOCKs mit wahrscheinlich nicht schaden.

Andere Tipps

Ja, Sie sind übermäßig trival.

Wenn Sie DOS-Attacken ausgesetzt sind, NOLOCK auf dem SQL-Berechtigungs-Aufruf ist die wenigsten Sorgen. Implementieren Sie eine DOS-Erkennung, Ausfall Tracking + Drossel, auch einige geplante Pausen, die den Anwender nicht beeinflussen würde, sondern würde langsam einen Angriff auf ...

könnte der NOLOCK potenziell die Leistung verbessern, wenn Sie diese Abfrage rufen häufig vor allem in größeren Transaktionen.

Betrachten wir die Natur des Dirty Read - würde das Zeitfenster, wo das wirklich kritisch auftreten können? z.B. wo Sie hinzufügen oder jemand aus einer autorisierten Rolle entfernen.

In dem Add-Szenario ein Dirty Read würde an diesem Versuch scheitern. (Zugriff verweigert)

Im Entfernen Szenario ein Dirty Read würde an diesem Versuch arbeiten. (Berechtigung)

Wenn ändert sich die Daten, die durch manuelle Betätigung z.B. menschliche Interaktion - ihr Marge für „Latenz“ ist in der Regel viel höher / unbestimmt als Ihre Datenbanken

Auch ein sehr seltener Fall, aber immer noch.? Gerade in dem Moment jemand den Benutzer sie in von der Anmeldung zu verhindern deaktiviert, NOLOCK läßt sie in Könnte ein böswilliger Benutzer / Hacker / Mitarbeiter sein, die sofort gesperrt werden muss

Sie müßten nach wie vor besorgt über dieses spezielle Szenario den Leistungsvorteil von NOLOCK zu verzichten.

Sie würden schützen Ihren Tisch weit besser an den Berechtigungen, um es suchen. Eine Tabelle wie diese sollte keinen direkten Zugang erlauben, alle Zugang sollte von gespeicherten Procs und den Berechtigungen für sich stattdessen gesetzt sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top