Megosztás a következőn keresztül:


Kiszolgálókonfiguráció: kurzorküszöb

A következőkre vonatkozik:SQL Server

Ez a cikk azt ismerteti, hogyan konfigurálhatja a kiszolgálókonfigurációs beállítást az cursor threshold SQL Server Management Studio vagy a Transact-SQL használatával. A cursor threshold beállítás megadja a kurzor azon sorainak számát, amelyeknél a kurzorbillentyűkészletek aszinkron módon jönnek létre. Amikor a kurzorok létrehoznak egy kulcskészletet egy eredményhalmazhoz, a lekérdezésoptimalizáló megbecsüli az eredményhalmazhoz visszaadott sorok számát. Ha a lekérdezésoptimalizáló becslése szerint a visszaadott sorok száma meghaladja ezt a küszöbértéket, a kurzor aszinkron módon jön létre, így a felhasználó lekérheti a sorokat a kurzorból, miközben a kurzor továbbra is fel van töltve. Ellenkező esetben a kurzor szinkron módon jön létre, és a lekérdezés az összes sor visszaadásáig vár.

Korlátozások

Az SQL Server nem támogatja a kulcskészlet-alapú vagy statikus Transact-SQL kurzorok aszinkron módon történő előállítását. Transact-SQL kurzorműveletek, például OPEN kötegelve FETCH vannak, így nincs szükség Transact-SQL kurzorok aszinkron generációjára. Az SQL Server továbbra is támogatja az aszinkron kulcskészlet-vezérelt vagy statikus alkalmazásprogramozási felület (API) kiszolgálói kurzorait, ahol az egyes kurzorműveletek esetében az ügyfélkörüli utazások miatt az alacsony késés OPEN aggodalomra ad okot.

A lekérdezésoptimalizáló pontossága a kulcskészletben lévő sorok számának becsléséhez a kurzorban lévő egyes táblák statisztikáinak pénznemétől függ.

Recommendations

Ez a beállítás egy speciális lehetőség, és csak tapasztalt adatbázis-szakembernek kell módosítania.

Ha be cursor thresholdvan állítva-1, az összes billentyűkészlet szinkron módon jön létre, ami a kis kurzorkészleteknek kedvez. Ha be cursor thresholdvan állítva0, a kurzorbillentyűkészletek aszinkron módon jönnek létre. Más értékekkel a lekérdezésoptimalizáló összehasonlítja a kurzorkészlet várt sorainak számát, és aszinkron módon hozza létre a kulcskészletet, ha az meghaladja a megadott cursor thresholdértéket. Ne állítson be cursor threshold túl alacsony értéket, mert a kis eredményhalmazok szinkron módon jobban épülnek fel.

Permissions

Az engedélyek végrehajtása sp_configure paraméterek nélkül vagy csak az első paraméterrel alapértelmezés szerint minden felhasználónak meg lesz adva. A konfigurációs beállítás módosításához vagy az sp_configure utasítás futtatásához mindkét paraméterrel történő végrehajtáshoz RECONFIGURE a felhasználónak rendelkeznie kell a ALTER SETTINGS kiszolgálószintű engedéllyel. Az ALTER SETTINGS engedélyt implicit módon a sysadmin és a serveradmin rögzített kiszolgálói szerepkörök birtokolják.

Az SQL Server Management Studio használata

  1. Az Object Explorerben kattintson a jobb gombbal egy kiszolgálóra, és válassza a Tulajdonságok lehetőséget.

  2. Válassza ki a Speciális csomópontot.

  3. A Vegyes csoportban módosítsa a cursor threshold kívánt értékre a beállítást.

Használd a Transact-SQL-t

  1. Csatlakozzon az adatbázismotorhoz.

  2. A Standard sávon válassza az Új lekérdezés lehetőséget.

  3. Másolja és illessze be a következő példát a lekérdezési ablakba, és válassza a Végrehajtáslehetőséget. Ez a példa bemutatja, hogyan állíthatja be a sp_configure a cursor threshold kurzorbillentyűkészletek 0 aszinkron módon történő létrehozásához.

    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
    

További információ: Kiszolgálókonfigurációs beállítások.

Nyomon követés: A kurzorküszöb beállítása után

A beállítás a kiszolgáló újraindítása nélkül azonnal érvénybe lép.