Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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 wordt gestart met locks ingesteld op 0, verkrijgt de vergrendelingsbeheerder voldoende geheugen van de Database Engine voor een initiƫle pool van 2.500 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 paging veroorzaakt op het niveau van het besturingssysteem (bijvoorbeeld als een andere toepassing op dezelfde computer wordt uitgevoerd als een exemplaar van SQL Server en dat geheugen gebruikt), wordt er geen extra vergrendelingsruimte toegewezen. De dynamische vergrendelingsgroep krijgt niet meer dan 60 procent van het geheugen dat is toegewezen aan de database-engine. Nadat de vergrendelingspool 60 procent heeft bereikt van het geheugen dat door een exemplaar van de Database Engine is verkregen, of er geen geheugen meer beschikbaar is op de computer, resulteren verdere aanvragen voor vergrendelingen in een fout.
Sql Server toestaan om vergrendelingen dynamisch te gebruiken, is de aanbevolen configuratie. U kunt echter locks instellen en daarmee de mogelijkheid van SQL Server om vergrendelingsresources dynamisch toe te wijzen opheffen. 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 is ingesteld op 0, treedt vergrendelingsescalatie op wanneer het geheugen dat door de huidige vergrendelingsstructuren wordt gebruikt 40% van de geheugenpool van de Database Engine bereikt. Wanneer locks niet is ingesteld op 0, treedt lockescalatie op wanneer het aantal vergrendelingen 40 procent bereikt van de voor locks opgegeven waarde.
Permissions
Uitvoermachtigingen voor sp_configure zonder parameters of alleen met de eerste parameter worden standaard aan alle gebruikers verleend. Als een gebruiker sp_configure met beide parameters wil uitvoeren om een configuratieoptie te wijzigen of de instructie RECONFIGURE wil uitvoeren, moet die gebruiker beschikken over de machtiging ALTER SETTINGS op serverniveau. De ALTER SETTINGS machtiging wordt impliciet bewaard door de vaste serverfuncties sysadmin en serveradmin .
SQL Server Management Studio gebruiken
Klik in Objectverkenner met de rechtermuisknop op een server en selecteer Eigenschappen.
Selecteer het geavanceerde knooppunt.
Typ onder Parallellisme de gewenste waarde voor de
locksoptie.Gebruik de
locksoptie om het maximum aantal beschikbare vergrendelingen in te stellen, waarmee de hoeveelheid geheugen wordt beperkt die door SQL Server wordt gebruikt.
Gebruik Transact-SQL
Maak verbinding met de database-engine.
Selecteer Nieuwe query in de standaardbalk.
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 optie
locksin te stellen op20000om het aantal beschikbare vergrendelingen voor alle gebruikers in te stellen.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.