El número de resultados de búsqueda es 5000 al establecer el atributo Count en 20000 en Microsoft Dynamics CRM

En este artículo se proporciona una solución para el problema de que el número de resultados de búsqueda devueltos es de 5 000 aunque establezca el atributo Count en 20 000 en el esquema FetchXml.

Se aplica a: Microsoft Dynamics CRM 2011
Número de KB original: 911510

Importante

Este artículo contiene información sobre cómo modificar el Registro. Asegúrese de hacer una copia de seguridad del Registro antes de modificarlo. Asegúrese de saber cómo recuperar el registro en caso de producirse algún problema. Para obtener más información sobre cómo realizar una copia de seguridad, restaurar y modificar el Registro, consulte Cómo hacer una copia de seguridad y restaurar el registro en Windows.

Síntomas

El atributo se Count usa en el esquema FetchXml para crear una consulta en la base de datos Microsoft Dynamics CRM. A continuación, establezca el Count atributo en 20 000. En este escenario, el número de resultados de búsqueda que se devuelve es de 5000. Además, la SELECT instrucción en el lenguaje SQL siempre SELECT TOP 5001 es independientemente de lo que se establezca para el Count atributo y para el Paging atributo .

Causa

Este problema se produce cuando se usa el esquema FetchXml para recuperar un conjunto de búsqueda resultante y cuando el moreRecords atributo se establece en 1. El valor de 1 indica que hay más de 5000 registros disponibles. En Microsoft Dynamics CRM, el Paging atributo tiene un límite de página de 5000.

Solución

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía, ya sea expresa o implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. Se considera que está familiarizado con el lenguaje de programación que se muestra y con las herramientas para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento. Sin embargo, no modificarán estos ejemplos para proporcionar una funcionalidad adicional o procesos de construcción para que se cumplan sus requisitos específicos.

Para resolver este problema, use el Paging atributo para recuperar registros. A continuación, use el moreRecords atributo en el conjunto de búsqueda resultante para determinar si se debe devolver la página siguiente.

Por ejemplo, el código siguiente muestra cómo resolver este problema.

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

Más información

Advertencia

Es posible que se produzcan problemas graves si modifica el Registro de forma incorrecta mediante el Editor del Registro u otro método. Estos problemas pueden requerir la reinstalación del sistema operativo. Microsoft no puede garantizar la solución de estos problemas. Modifique el Registro bajo su propia responsabilidad.

Para ajustar el límite de página a un valor inferior a 5 000, agregue el MaxRowsPerPage valor DWORD al Registro. Para ello, siga estos pasos:

  1. Seleccione Inicio y Ejecutar, escriba regedit en el cuadro Abrir y, luego, seleccione Aceptar.

  2. Busque la siguiente subclave del Registro y selecciónela:

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSCRM

  3. En el menú Editar , seleccione Nuevo y, a continuación, seleccione Valor DWORD.

  4. Escriba MaxRowsPerPage y presione ENTRAR.

  5. Haga clic con el botón derecho en MaxRowsPerPage y, a continuación, seleccione Modificar.

  6. Escriba un número menor o igual que 5 000 en el cuadro Datos de valor y, a continuación, seleccione Aceptar.

  7. En el menú Archivo, seleccione Abrir.

Para desactivar la característica de paginación y, a continuación, omitir el MaxRowsPerPage parámetro de 5000, agregue el TurnOffFetchThrottling valor DWORD al Registro. Para ello, siga estos pasos:

Nota:

Realizar estos pasos puede provocar problemas de rendimiento en el equipo.

  1. Seleccione Inicio y Ejecutar, escriba regedit en el cuadro Abrir y, luego, seleccione Aceptar.

  2. Busque la siguiente subclave del Registro y selecciónela:

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSCRM

  3. En el menú Editar , seleccione Nuevo y, a continuación, seleccione Valor DWORD.

  4. Escriba TurnOffFetchThrottling y presione ENTRAR.

  5. Haga clic con el botón derecho en TurnOffFetchThrottling y seleccione Modificar.

  6. Escriba un número distinto de 0 en el cuadro Datos de valor y, a continuación, seleccione Aceptar.

    Nota:

    El paso 6 le permite recuperar el número de registros especificado en el atributo Count de la instrucción fetch.

  7. En el menú Archivo, seleccione Abrir.