O número de resultados da pesquisa é 5000 ao definir o atributo Count como 20000 em Microsoft Dynamics CRM

Este artigo fornece uma resolução para o problema de que o número de resultados de pesquisa retornados é de 5.000, mesmo se você definir o atributo Count como 20.000 no esquema FetchXml.

Aplica-se a: Microsoft Dynamics CRM 2011
Número original do KB: 911510

Importante

Este artigo contém informações sobre como modificar o Registro. Faça backup do Registro antes de modificá-lo. Você deve saber como restaurar o Registro caso ocorra algum problema. Para obter mais informações sobre como fazer backup do Registro, restaurá-lo e modificá-lo, consulte Como fazer backup e restaurar o Registro no Windows.

Sintomas

Você usa o Count atributo no esquema FetchXml para criar uma consulta no banco de dados Microsoft Dynamics CRM. Em seguida, você define o Count atributo como 20.000. Nesse cenário, o número de resultados da pesquisa retornados é de 5.000. Além disso, a SELECT instrução na linguagem SQL é sempre SELECT TOP 5001 independentemente do que está definido para o Count atributo e para o Paging atributo.

Motivo

Esse problema ocorre quando você usa o esquema FetchXml para recuperar um conjunto de pesquisa resultante e quando o moreRecords atributo é definido como 1. O valor de 1 indica que mais de 5.000 registros estão disponíveis. Em Microsoft Dynamics CRM, o Paging atributo tem um limite de página de 5.000.

Resolução

A Microsoft oferece exemplos de programação somente para ilustração, sem garantias expressas ou implícitas. Isso inclui, mas não está limitado a, as garantias implícitas de qualidade comercial ou conformidade para uma determinada finalidade. Este artigo supõe que você conhece a linguagem de programação que está sendo demonstrada e as ferramentas usadas nos processos de criação e depuração. Os engenheiros de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento. Entretanto, eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos que atendam aos seus requisitos específicos.

Para resolve esse problema, use o Paging atributo para recuperar registros. Em seguida, use o moreRecords atributo no conjunto de pesquisa resultante para determinar se a próxima página deve ser retornada.

Por exemplo, o código a seguir demonstra como resolve esse problema.

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

Mais informações

Aviso

Poderão ocorrer sérios problemas se você modificar o Registro incorretamente com o Editor do Registro ou outro método. Talvez seja necessária a reinstalação do sistema operacional. A Microsoft não pode garantir que esses problemas possam ser resolvidos. Modifique o Registro a seu próprio risco.

Para ajustar o limite de página a um valor menor que 5.000, adicione o MaxRowsPerPage Valor DWORD ao registro. Para fazer isso, siga estas etapas:

  1. Selecione Iniciar, selecione Executar, digite regedit na caixa Abrir e selecione OK.

  2. Localize e selecione a seguinte subchave de Registro:

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSCRM

  3. No menu Editar , aponte para Novo e selecione Valor DWORD.

  4. Digite MaxRowsPerPage e pressione ENTER.

  5. Clique com o botão direito do mouse em MaxRowsPerPage e selecione Modificar.

  6. Digite um número menor ou igual a 5.000 na caixa de dados Valor e selecione OK.

  7. No menu Arquivo, selecione Sair.

Para desativar o recurso de paginação e ignorar o MaxRowsPerPage parâmetro de 5.000, adicione o TurnOffFetchThrottling Valor DWORD ao registro. Para fazer isso, siga estas etapas:

Observação

Executar essas etapas pode causar problemas de desempenho no computador.

  1. Selecione Iniciar, selecione Executar, digite regedit na caixa Abrir e selecione OK.

  2. Localize e selecione a seguinte subchave de Registro:

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSCRM

  3. No menu Editar , aponte para Novo e selecione Valor DWORD.

  4. Digite TurnOffFetchThrottling e pressione ENTER.

  5. Clique com o botão direito do mouse em TurnOffFetchThrottling e selecione Modificar.

  6. Digite um número diferente de 0 na caixa de dados Valor e selecione OK.

    Observação

    A etapa 6 permite recuperar o número de registros especificados no atributo Contagem da instrução fetch.

  7. No menu Arquivo, selecione Sair.