Le nombre de résultats de recherche est de 5 000 lors de la définition de l’attribut Count sur 20 000 dans Microsoft Dynamics CRM

Cet article fournit une résolution pour le problème selon lequel le nombre de résultats de recherche retournés est de 5 000, même si vous définissez l’attribut Count sur 20 000 dans le schéma FetchXml.

S’applique à : Microsoft Dynamics CRM 2011
Numéro de la base de connaissances d’origine : 911510

Importante

Cet article contient des informations sur la modification du Registre. Avant de modifier le Registre, pensez à le sauvegarder et assurez-vous que vous savez le restaurer en cas de problème. Pour plus d’informations sur la procédure à suivre pour sauvegarder, restaurer et modifier le Registre, consultez l’article Comment sauvegarder et restaurer le Registre dans Windows.

Symptômes

Vous utilisez l’attribut Count dans le schéma FetchXml pour créer une requête sur la base de données Microsoft Dynamics CRM. Ensuite, vous définissez l’attribut Count sur 20 000. Dans ce scénario, le nombre de résultats de recherche retournés est de 5 000. En outre, l’instruction SELECT dans le langage SQL est toujours SELECT TOP 5001 indépendamment de ce qui est défini pour l’attribut Count et pour l’attribut Paging .

Cause

Ce problème se produit lorsque vous utilisez le schéma FetchXml pour récupérer un jeu de recherche résultant et lorsque l’attribut moreRecords est défini sur 1. La valeur 1 indique que plus de 5 000 enregistrements sont disponibles. Dans Microsoft Dynamics CRM, l’attribut Paging a une limite de page de 5 000.

Résolution

Microsoft fournit des exemples de programmation à titre d'illustration uniquement, sans garantie expresse ou implicite. Cela inclut, sans y être limité, les garanties implicites de commercialisation et d’adaptation à un but en particulier. Cet article considère que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les ingénieurs du support Microsoft peuvent expliquer la fonctionnalité d’une procédure en particulier. Toutefois, ils ne modifieront pas ces exemples pour fournir des fonctionnalités supplémentaires ou créer des procédures répondant à vos besoins spécifiques.

Pour résoudre ce problème, utilisez l’attribut Paging pour récupérer des enregistrements. Ensuite, utilisez l’attribut moreRecords dans le jeu de recherche obtenu pour déterminer si la page suivante doit être retournée.

Par exemple, le code suivant montre comment résoudre ce problème.

moreRecords = true;
i = 0;
while(moreRecords)
{
get page i
if(result has more records)
i++
else
moreRecords = false
}

Plus d’informations

Avertissement

De graves problèmes peuvent se produire si vous vous trompez en modifiant le Registre à l’aide de l’Éditeur du Registre ou toute autre méthode. Vous risquez même de devoir réinstaller le système d’exploitation. Microsoft ne peut pas garantir que ces problèmes puissent être résolus. Vous assumez l’ensemble des risques liés à la modification du Registre.

Pour ajuster la limite de page à une valeur inférieure à 5 000, ajoutez la MaxRowsPerPage valeur DWORD au Registre. Pour cela, procédez comme suit :

  1. Sélectionnez Démarrer, sélectionnez Exécuter, tapez regedit dans la zone Ouvrir, puis cliquez sur OK.

  2. Recherchez puis sélectionnez la sous-clé de Registre suivante :

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSCRM

  3. Dans le menu Modifier , pointez sur Nouveau, puis sélectionnez Valeur DWORD.

  4. Tapez MaxRowsPerPage, puis appuyez sur Entrée.

  5. Cliquez avec le bouton droit sur MaxRowsPerPage, puis sélectionnez Modifier.

  6. Tapez un nombre inférieur ou égal à 5 000 dans la zone Données de la valeur , puis sélectionnez OK.

  7. Dans le menu Fichier, sélectionnez Quitter.

Pour désactiver la fonctionnalité de pagination, puis ignorer le MaxRowsPerPage paramètre 5 000, ajoutez la TurnOffFetchThrottling valeur DWORD au Registre. Pour cela, procédez comme suit :

Remarque

L’exécution de ces étapes peut entraîner des problèmes de performances sur votre ordinateur.

  1. Sélectionnez Démarrer, sélectionnez Exécuter, tapez regedit dans la zone Ouvrir, puis cliquez sur OK.

  2. Recherchez puis sélectionnez la sous-clé de Registre suivante :

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSCRM

  3. Dans le menu Modifier , pointez sur Nouveau, puis sélectionnez Valeur DWORD.

  4. Tapez TurnOffFetchThrottling, puis appuyez sur Entrée.

  5. Cliquez avec le bouton droit sur TurnOffFetchThrottling, puis sélectionnez Modifier.

  6. Tapez un nombre différent de 0 dans la zone Données de la valeur, puis sélectionnez OK.

    Remarque

    L’étape 6 vous permet de récupérer le nombre d’enregistrements spécifié dans l’attribut Count de votre instruction fetch.

  7. Dans le menu Fichier, sélectionnez Quitter.