Konfigurieren der Sperren (Serverkonfigurationsoption)

Gilt für:SQL Server

In diesem Thema wird beschrieben, wie die Serverkonfigurationsoption Sperren in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL konfiguriert wird. Mithilfe der Option Sperren können Sie die maximale Anzahl verfügbarer Sperren festlegen und so die Menge an Arbeitsspeicher begrenzen, die SQL Server-Datenbank-Engine für Sperren verwendet. Die Standardeinstellung ist 0. Dadurch kann Datenbank-Engine Sperrstrukturen je nach Systemanforderungen dynamisch zuordnen oder die Zuordnung von Sperrstrukturen aufheben.

Wichtig

Diese Funktion wird in einer zukünftigen Version von SQL Serverentfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.

In diesem Thema

Vorbereitungen

Empfehlungen

  • Diese Option ist eine erweiterte Option und sollte ausschließlich von einem erfahrenen Datenbankadministrator oder einem zertifizierten SQL Server -Experten geändert werden.

  • Wenn der Server gestartet wird, während die Option Sperren auf 0 festgelegt ist, richtet der Sperren-Manager ausreichend Arbeitsspeicher von Datenbank-Engine für einen ersten Pool von 2.500 Sperrstrukturen ein. Wenn der Sperrenpool verbraucht ist, wird zusätzlicher Arbeitsspeicher für den Pool eingerichtet.

    Wenn für den Sperrenpool mehr Arbeitsspeicher benötigt wird als im Datenbank-Engine -Speicherpool verfügbar ist und auf dem Computer weiterer Speicher zur Verfügung steht (wenn also der Schwellenwert Max. Serverarbeitsspeicher noch nicht erreicht ist), weist Datenbank-Engine in der Regel dynamisch Speicher zu, um die Sperrenanforderung zu erfüllen. Wenn durch das Zuweisen dieses Speichers jedoch eine Auslagerung auf Betriebssystemebene ausgelöst würde (wenn beispielsweise eine weitere Anwendung auf dem gleichen Computer als Instanz von SQL Server ausgeführt wird und diesen Arbeitsspeicher verwendet), wird kein weiterer Speicherplatz für Sperren zugewiesen. Der dynamische Sperrenpool ruft nicht mehr als 60 Prozent des Speichers ab, der dem Datenbank-Enginezugewiesen ist. Wenn der Sperrenpool 60 Prozent des von einer Instanz von Datenbank-Engineangeforderten Speichers erreicht hat oder wenn auf dem Computer kein weiterer Speicher verfügbar ist, wird bei weiteren Sperrenanforderungen ein Fehler generiert.

    Wenn Sperren von SQL Server dynamisch verwendet werden dürfen, entspricht dies der empfohlenen Konfiguration. Sie können Sperren jedoch festlegen und die Möglichkeit der dynamischen Zuweisung von Sperrenressourcen durch SQL Server außer Kraft setzen. Wenn Sperren auf einen anderen Wert als 0 festgelegt wird, kann Datenbank-Engine dem unter Sperrenangegebenen Wert keine weiteren Sperren zuweisen. Erhöhen Sie diesen Wert, wenn SQL Server die Meldung anzeigt, dass die Anzahl der verfügbaren Sperren überschritten wurde. Da jede Sperre Arbeitsspeicher verbraucht (96 Bytes pro Sperre), kann es bei Erhöhung dieses Werts erforderlich werden, dem Server mehr Speicher zuzuweisen.

  • Die Option Sperren wirkt sich auch darauf aus, wann eine Sperrenausweitung stattfindet. Wenn Sperren auf 0 festgelegt ist, findet eine Sperrenausweitung statt, sobald der von den aktuellen Sperrenstrukturen verwendete Speicher 40 Prozent des Datenbank-Engine -Speicherpools erreicht hat. Wenn Sperren nicht auf 0 festgelegt ist, findet eine Sperrenausweitung statt, sobald die Anzahl der Sperren 40 Prozent des für Sperrenfestgelegten Werts erreicht.

Sicherheit

Berechtigungen

Die Ausführungsberechtigungen für sp_configure ohne Parameter oder nur mit dem ersten Parameter werden standardmäßig allen Benutzern erteilt. Zum Ausführen von sp_configure mit beiden Parametern zum Ändern einer Konfigurationsoption oder zum Ausführen der RECONFIGURE-Anweisung muss einem Benutzer die ALTER SETTINGS-Berechtigung auf Serverebene erteilt worden sein. Die ALTER SETTINGS-Berechtigung ist in den festen Serverrollen sysadmin und serveradmin eingeschlossen.

Verwendung von SQL Server Management Studio

So konfigurieren Sie die Option locks

  1. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf einen Server, und wählen Sie Eigenschaften aus.

  2. Klicken Sie auf den Erweitert -Knoten.

  3. Geben Sie unter Parallelitätden gewünschten Wert für die Option Sperren ein.

    Mithilfe der Option Sperren können Sie die maximale Anzahl verfügbarer Sperren festlegen und so die Menge an Arbeitsspeicher begrenzen, die SQL Server für Sperren verwendet.

Verwenden von Transact-SQL

So konfigurieren Sie die Option locks

  1. Stellen Sie eine Verbindung mit dem Datenbank-Engineher.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen. In diesem Beispiel wird gezeigt, wie sp_configure zum Festlegen des Werts der Option locks verwendet wird, um die Anzahl der für alle Benutzer verfügbaren Sperren auf 20000zu setzen.

USE AdventureWorks2022;  
GO  
sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE;  
GO  
sp_configure 'locks', 20000;  
GO  
RECONFIGURE;  
GO  

Weitere Informationen finden Sie unter Serverkonfigurationsoptionen (SQL Server).

Nachverfolgung: Nach dem Konfigurieren der Option Sperren

Der Server muss neu gestartet werden, bevor die Einstellung wirksam werden kann.

Weitere Informationen

RECONFIGURE (Transact-SQL)
Serverkonfigurationsoptionen (SQL Server)
sp_configure (Transact-SQL)