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 cursor threshold in SQL Server configureert met behulp van SQL Server Management Studio of Transact-SQL. Met de cursor threshold optie geeft u het aantal rijen op in de cursorset waarmee cursortoetsen asynchroon worden gegenereerd. Wanneer cursors een sleutelset genereren voor een resultatenset, maakt de queryoptimalisatie een schatting van het aantal rijen dat wordt geretourneerd voor die resultatenset. Als de queryoptimalisatie schatting maakt dat het aantal geretourneerde rijen groter is dan deze drempelwaarde, wordt de cursor asynchroon gegenereerd, zodat de gebruiker rijen van de cursor kan ophalen terwijl de cursor blijft gevuld. Anders wordt de cursor synchroon gegenereerd en wacht de query totdat alle rijen worden geretourneerd.
Beperkingen
SQL Server biedt geen ondersteuning voor het asynchroon genereren van sleutelsetgestuurde of statische Transact-SQL cursors. Transact-SQL cursorbewerkingen, zoals OPEN of FETCH batchbewerkingen, zodat u de asynchrone generatie van Transact-SQL cursors niet nodig hebt. SQL Server blijft asynchrone sleutelsetgestuurde of API-servercursors (Static Application Programming Interface) ondersteunen waarbij lage latentie OPEN een probleem is, vanwege retouren van clients voor elke cursorbewerking.
De nauwkeurigheid van de queryoptimalisatie om een schatting te bepalen voor het aantal rijen in een sleutelset, is afhankelijk van de valuta van de statistieken voor elk van de tabellen in de cursor.
Aanbevelingen
Deze optie is een geavanceerde optie en moet alleen worden gewijzigd door een ervaren databaseprofessional.
Als u deze optie instelt cursor threshold-1, worden alle sleutelsets synchroon gegenereerd, wat voor kleine cursorsets zorgt. Als u deze optie instelt cursor threshold0, worden alle cursorsleutelsets asynchroon gegenereerd. Met andere waarden vergelijkt de queryoptimalisatie het aantal verwachte rijen in de cursorset en wordt de sleutelset asynchroon samengesteld als deze het aantal dat is ingesteld cursor thresholdin overschrijdt. Stel niet cursor threshold te laag in, omdat kleine resultatensets beter synchroon worden gebouwd.
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
Klik in Objectverkenner met de rechtermuisknop op een server en selecteer Eigenschappen.
Selecteer het geavanceerde knooppunt.
Wijzig onder Diversen de
cursor thresholdoptie in de gewenste waarde.
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 kunt gebruiken om de
cursor thresholdoptie0zo in te stellen dat cursortoetsen asynchroon worden gegenereerd.USE master; GO EXECUTE sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXECUTE sp_configure 'cursor threshold', 0; GO RECONFIGURE; GO EXECUTE sp_configure 'show advanced options', 0; GO RECONFIGURE; GO
Zie Server-configuratieoptiesvoor meer informatie.
Opvolgen: Nadat u de optie voor de cursordrempel hebt geconfigureerd
De instelling wordt onmiddellijk van kracht zonder de server opnieuw op te starten.