In SQL Server gibt es keine Funktionen, die explizit als "Tab -Sperre" bezeichnet wird. Die Sperrmechanismen des SQL Servers sind nuancierter als eine einfache "Registerkarte". Was Sie vielleicht denken oder was jemand umgangssprachlich als "Registerkarte" bezeichnet, bezieht sich wahrscheinlich auf eines dieser Szenarien:
* Sperre auf Tabellenebene: Dies ist der nächstgelegene SQL -Server, der zu einem "Registerkartenschloss" gelangt. In bestimmten Situationen kann SQL Server eine gemeinsame (en) oder exklusive (x) Sperre auf der Tabellenebene erwerben. Dies bedeutet, dass die gesamte Tabelle gesperrt ist und verhindert, dass andere gleichzeitige Vorgänge die Tabelle bis zur Freigabe der Sperre modifizieren oder sogar lesen. Dies geschieht oft bei schlecht gestalteten Abfragen oder unter hohem Streit. Es ist keine absichtliche Einstellung, die Sie wählen. Es ist eine Folge des Zugangsplans der Abfrage und des gewählten Isolationsstufe.
* Missverständnis der Verriegelung auf Reihenebene: SQL Server verwendet in erster Linie die Verriegelung auf Zeilenebene. Dies bedeutet, dass nur die spezifischen Zeilen gesperrt sind, sodass andere Benutzer gleichzeitig auf andere Zeilen in derselben Tabelle zugreifen und diese ändern können. Wenn jedoch viele Zeilen gleichzeitig aktualisiert werden, kann das System möglicherweise noch eine Leistungsverschlechterung erleben, obwohl es sich nicht um eine vollständige "Registerkarte" handelt.
* Schema -Modifikationssperrungen: Wenn Sie die Struktur einer Tabelle ändern (Hinzufügen, Änderungen oder Löschen von Spalten, Hinzufügen von Indizes usw.) platziert SQL Server Sperren, um eine gleichzeitige Änderung des Tabellenschemas zu verhindern. Diese werden implizit angewendet und sind in der Regel von kurzer Dauer.
Warum Sie in einer modernen SQL Server -Umgebung selten die tatsächlichen "Registerkarte" sehen:
* Leistungsimplikationen: Die Sperren auf Tabellenebene beschränken die Parallelität stark ein und können zu erheblichen Leistungs Engpässen führen. Sie sind in den meisten Szenarien sehr unerwünscht.
* Zeilenebene Sperroptimierung: Der Abfrageoptimierer von SQL Server ist bestrebt, nach Möglichkeit eine Verriegelung auf Zeilenebene zu verwenden, um die Parallelität zu maximieren.
* Isolationsstufen: Die ausgewählte Isolationsstufe (gelesene ungezwungene, gelesene engagierte, wiederholbare Lektüre, serialisierbar) beeinflusst, wie Schlösser erworben und gehalten werden, was die Wahrscheinlichkeit einer Verriegelung auf Tabellenebene weiter beeinflusst.
Zusammenfassend: Während der Begriff "Registerkarte Sperre" für SQL Server technisch nicht korrekt ist, wird informell verwendet, um Situationen zu beschreiben, in denen die gesamte Tabelle aufgrund von Abfrageausführung oder Schema -Änderungen gesperrt ist. Dies ist normalerweise ein Symptom für ein Problem und nicht ein absichtliches Merkmal. Wenn Sie auf Leistungsprobleme stoßen, die wie eine "Registerkarte Sperre" erscheinen, untersuchen Sie Ihre Abfragen, Indexierung und Isolationsstufen, um das Parallelitätsmodell Ihrer Datenbank zu verstehen und zu optimieren. Das Analyse von Schlosswartungen mit Tools wie `SP_Whoisactive` oder SQL Server -Profiler hilft bei der Diagnose der Grundursache.