Delen via


Serverconfiguratie: vergrendelingen

Van toepassing op:SQL Server

In dit artikel wordt beschreven hoe u de optie voor serverconfiguratie locks in SQL Server configureert met behulp van SQL Server Management Studio of Transact-SQL. Met de locks optie stelt u het maximum aantal beschikbare vergrendelingen in, waarmee de hoeveelheid geheugen wordt beperkt die door de SQL Server Database Engine wordt gebruikt. De standaardinstelling is 0, waarmee de database-engine dynamisch vergrendelingsstructuren kan toewijzen en de toewijzing ervan ongedaan kan maken op basis van veranderende systeemvereisten.

Belangrijk

Deze functie wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie.

Aanbevelingen

Deze optie is een geavanceerde optie en moet alleen worden gewijzigd door een ervaren databaseprofessional.

Wanneer de server is gestart met locks instellen 0, krijgt de vergrendelingsbeheerder voldoende geheugen van de database-engine voor een initiƫle pool van 2500 vergrendelingsstructuren. Als de vergrendelingspool uitgeput is, wordt er meer geheugen voor de pool verkregen.

Over het algemeen geldt dat als er meer geheugen is vereist voor de vergrendelingsgroep dan beschikbaar is in de geheugengroep van de database-engine en er meer computergeheugen beschikbaar is (de max server memory (MB) drempelwaarde is niet bereikt), wijst de database-engine dynamisch geheugen toe om te voldoen aan de aanvraag voor vergrendelingen. Als het toewijzen van dat geheugen echter pagginering veroorzaakt op besturingssysteemniveau (bijvoorbeeld als een andere toepassing op dezelfde computer wordt uitgevoerd als een exemplaar van SQL Server en dat geheugen gebruikt), wordt er geen vergrendelingsruimte toegewezen. De dynamische vergrendelingsgroep krijgt niet meer dan 60 procent van het geheugen dat is toegewezen aan de database-engine. Nadat de vergrendelingsgroep 60 procent van het geheugen heeft bereikt dat is verkregen door een exemplaar van de database-engine, of er geen geheugen meer beschikbaar is op de computer, genereren verdere aanvragen voor vergrendelingen een fout.

Sql Server toestaan om vergrendelingen dynamisch te gebruiken, is de aanbevolen configuratie. U kunt echter de mogelijkheid van SQL Server instellen locks en negeren om vergrendelingsbronnen dynamisch toe te wijzen. Wanneer locks deze is ingesteld op een andere waarde dan 0, kan de database-engine niet meer vergrendelingen toewijzen dan de waarde die is opgegeven in locks. Verhoog deze waarde als SQL Server een bericht weergeeft dat u het aantal beschikbare vergrendelingen hebt overschreden. Omdat elke vergrendeling geheugen verbruikt (96 bytes per vergrendeling), kan het verhogen van deze waarde de hoeveelheid geheugen vereisen die is toegewezen aan de server.

De locks optie is ook van invloed op het moment van escalatie van vergrendelingen. Wanneer locks dit is ingesteld 0op, treedt escalatie van vergrendeling op wanneer het geheugen dat wordt gebruikt door de huidige vergrendelingsstructuren 40 procent van de geheugengroep database-engine bereikt. Wanneer locks dit niet is ingesteld 0op, treedt escalatie van vergrendelingen op wanneer het aantal vergrendelingen 40 procent van de opgegeven waarde bereikt locks.

Permissions

Voer machtigingen sp_configure uit voor zonder parameters of met alleen de eerste parameter worden standaard aan alle gebruikers verleend. Als u beide parameters wilt uitvoeren sp_configure om een configuratieoptie te wijzigen of om de RECONFIGURE instructie uit te voeren, moet aan een gebruiker de ALTER SETTINGS machtiging op serverniveau worden verleend. De ALTER SETTINGS machtiging wordt impliciet bewaard door de vaste serverfuncties sysadmin en serveradmin .

SQL Server Management Studio gebruiken

  1. Klik in Objectverkenner met de rechtermuisknop op een server en selecteer Eigenschappen.

  2. Selecteer het geavanceerde knooppunt.

  3. Typ onder Parallellisme de gewenste waarde voor de locks optie.

    Gebruik de locks optie om het maximum aantal beschikbare vergrendelingen in te stellen, waarmee de hoeveelheid geheugen wordt beperkt die door SQL Server wordt gebruikt.

Gebruik Transact-SQL

  1. Maak verbinding met de database-engine.

  2. Selecteer Nieuwe query in de standaardbalk.

  3. Kopieer en plak het volgende voorbeeld in het queryvenster en selecteer uitvoeren. In dit voorbeeld ziet u hoe u sp_configure gebruikt om de waarde van de locks optie in te stellen om het aantal beschikbare vergrendelingen voor alle gebruikers in te 20000stellen.

    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'locks', 20000;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'show advanced options', 0;
    GO
    
    RECONFIGURE;
    GO
    

Zie Server-configuratieoptiesvoor meer informatie.

Opvolgen: Nadat u de optie Vergrendelingen hebt geconfigureerd

De server moet opnieuw worden opgestart voordat de instelling van kracht kan worden.