Configurer l'option de configuration du serveur cursor threshold

Cette rubrique explique comment configurer l'option de configuration de serveur Seuil du curseur dans SQL Server 2012 à l'aide de SQL Server Management Studio ou de Transact-SQL. L'option Seuil du curseur spécifie le nombre de lignes du jeu de curseurs à partir desquelles les jeux de clés de curseurs sont générés de façon asynchrone. Lorsque le curseur génère un jeu de clés pour un jeu de résultats, l'optimiseur de requête évalue le nombre de lignes renvoyées pour ce jeu de résultats. Si l'optimiseur de requêtes estime que le nombre de lignes renvoyées est plus élevé que ce seuil, le curseur est généré de façon asynchrone, ce qui permet à l'utilisateur de rechercher des lignes à partir du curseur alors que ce dernier continue d'être rempli. Dans le cas contraire, le curseur est généré de façon synchrone et la requête attend que toutes les lignes soient renvoyées.

Dans cette rubrique

  • Avant de commencer :

    Limitations et restrictions

    Recommandations

    Sécurité

  • Pour configurer l'option Seuil du curseur, utilisez :

    SQL Server Management Studio

    Transact-SQL

  • Suivi :  Après avoir configuré l'option Seuil du curseur

Avant de commencer

Limitations et restrictions

  • SQL Server ne prend pas en charge la génération asynchrone de curseurs Transact-SQL de jeu de clés ou statiques. Les opérations Transact-SQL sur les curseurs telles que OPEN ou FETCH sont exécutées par lot : la génération asynchrone de curseurs Transact-SQL n'est donc pas nécessaire. SQL Server continue de prendre en charge les curseurs côté serveur d'API pilotés par jeux de clés ou statiques asynchrones si l'opération de curseur OPEN présente une latence trop faible, en raison des boucles clientes de chaque opération de curseur.

  • La précision avec laquelle l'optimiseur de requête va évaluer le nombre de lignes d'un jeu de clés dépend du degré d'actualité des statistiques pour chacune des tables dans le curseur.

Recommandations

  • Cette option avancée ne doit être modifiée que par un administrateur de base de données qualifié ou un technicien agréé SQL Server.

  • Si vous attribuez la valeur -1 à l'option Seuil du curseur, tous les jeux de clés sont générés de façon synchrone (ce qui avantage les jeux de curseurs de petite taille). Si vous attribuez la valeur 0 à l'option cursor threshold, tous les jeux de clés de curseurs sont générés de manière asynchrone. Si d'autres valeurs sont définies, l'optimiseur de requêtes compare le nombre estimé de lignes du jeu de curseurs et crée le jeu de clés de façon asynchrone si ce nombre dépasse celui de l'option cursor threshold. N'attribuez pas une valeur trop faible à l'option Seuil du curseur, sachant que les petits jeux de résultats sont mieux générés de manière synchrone.

Sécurité

Autorisations

Les autorisations d'exécution de sp_configure, sans paramètre ou avec le premier paramètre uniquement, sont accordées par défaut à tous les utilisateurs. Pour exécuter sp_configure avec les deux paramètres afin de modifier une option de configuration ou d'exécuter l'instruction RECONFIGURE, un utilisateur doit disposer de l'autorisation de niveau serveur ALTER SETTINGS. L'autorisation ALTER SETTINGS est implicitement détenue par les rôles serveur fixes sysadmin et serveradmin.

Icône de flèche utilisée avec le lien Retour en haut[Top]

Utilisation de SQL Server Management Studio

Pour configurer l'option cursor threshold

  1. Dans l'Explorateur d'objets, cliquez avec le bouton droit sur un serveur et sélectionnez Propriétés.

  2. Cliquez sur le nœud Avancé.

  3. Sous Divers, modifiez l'option Seuil du curseur selon vos besoins.

Icône de flèche utilisée avec le lien Retour en haut[Top]

Utilisation de Transact-SQL

Pour configurer l'option cursor threshold

  1. Connectez-vous au Moteur de base de données.

  2. Dans la barre d'outils standard, cliquez sur Nouvelle requête.

  3. Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter. Cet exemple montre comment utiliser sp_configure pour attribuer à l'option cursor threshold la valeur 0 afin que les jeux de clés du curseur soient générés de façon asynchrone.

USE AdventureWorks2012 ;
GO
EXEC sp_configure 'show advanced options', 1 ;
GO
RECONFIGURE
GO
EXEC sp_configure 'cursor threshold', 0 ;
GO
RECONFIGURE
GO

Pour plus d'informations, consultez Options de configuration de serveur.

Icône de flèche utilisée avec le lien Retour en haut[Top]

Suivi : Après avoir configuré l'option Seuil du curseur

Le paramètre prend effet immédiatement sans redémarrage du serveur.

Icône de flèche utilisée avec le lien Retour en haut[Top]

Voir aussi

Référence

@@CURSOR_ROWS (Transact-SQL)

RECONFIGURE (Transact-SQL)

sp_configure (Transact-SQL)

UPDATE STATISTICS (Transact-SQL)

Concepts

Options de configuration de serveur