Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Den här artikeln beskriver hur du konfigurerar serverkonfigurationsalternativet cursor threshold i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL. Alternativet cursor threshold anger antalet rader i markören som markörnycklarna genereras asynkront på. När markörer genererar en nyckeluppsättning för en resultatuppsättning beräknar frågeoptimeraren antalet rader som returneras för den resultatuppsättningen. Om frågeoptimeraren uppskattar att antalet returnerade rader är större än det här tröskelvärdet genereras markören asynkront, vilket gör att användaren kan hämta rader från markören medan markören fortsätter att fyllas i. Annars genereras markören synkront och frågan väntar tills alla rader returneras.
Begränsningar
SQL Server stöder inte generering av nyckeluppsättningsdrivna eller statiska Transact-SQL markörer asynkront. Transact-SQL marköråtgärder som OPEN eller FETCH är batchbaserade, så det finns inget behov av den asynkrona genereringen av Transact-SQL markörer. SQL Server fortsätter att ha stöd för api-servermarkörer (asynkrona keyset-drivna eller statiska program) där låg svarstid OPEN är ett problem, på grund av klientens rundresor för varje marköråtgärd.
Frågeoptimerarens noggrannhet för att fastställa en uppskattning av antalet rader i en nyckeluppsättning beror på valutan för statistiken för var och en av tabellerna i markören.
Recommendations
Det här alternativet är ett avancerat alternativ och bör endast ändras av en erfaren databasproffs.
Om du anger cursor threshold till -1genereras alla nyckeluppsättningar synkront, vilket gynnar små marköruppsättningar. Om du anger cursor threshold till 0genereras alla markörnycklar asynkront. Med andra värden jämför frågeoptimeraren antalet förväntade rader i marköruppsättningen och skapar nyckeluppsättningen asynkront om den överskrider det antal som anges i cursor threshold. Ställ inte in cursor threshold för lågt eftersom små resultatuppsättningar är bättre byggda synkront.
Permissions
Kör behörigheter på sp_configure utan parametrar eller med endast den första parametern beviljas alla användare som standard. Om du vill köra sp_configure med båda parametrarna för att ändra ett konfigurationsalternativ eller för att köra -instruktionen RECONFIGURE måste en användare beviljas behörighet på ALTER SETTINGS servernivå. Behörigheten ALTER SETTINGS innehas implicit av de fasta serverrollerna sysadmin och serveradmin .
Använda SQL Server Management Studio
Högerklicka på en server i Object Explorer och välj Egenskaper.
Välj noden Avancerat .
Under Övrigt ändrar
cursor thresholddu alternativet till önskat värde.
Använd Transact-SQL
Anslut till databasmotorn.
I standardfältet väljer du Ny fråga.
Kopiera och klistra in följande exempel i frågefönstret och välj Kör. Det här exemplet visar hur du använder sp_configure för att ange
cursor thresholdalternativet till0så att markörnycklarna genereras asynkront.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
Mer information finns i Server-konfigurationsalternativ.
Följ upp: När du har konfigurerat markörtröskelalternativet
Inställningen börjar gälla omedelbart utan att servern startas om.