Compartilhar via


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

Este artigo fornece uma resolução para o problema de que o número de resultados da pesquisa retornados é 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

Use o Count atributo no esquema FetchXml para criar uma consulta no banco de dados do Microsoft Dynamics CRM. Em seguida, você define o Count atributo como 20.000. Nesse cenário, o número de resultados de pesquisa retornados é 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. No 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 resolver 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 resolver 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. Esses problemas podem exigir que você reinstale o sistema operacional. A Microsoft não pode garantir que esses problemas possam ser resolvidos. Modifique o Registro por sua conta e risco.

Para ajustar o limite de páginas para 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 Dados do valor e selecione OK.

  7. No menu Arquivo, selecione Sair.

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

Observação

A execução dessas 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 Dados do valor e selecione OK.

    Observação

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

  7. No menu Arquivo, selecione Sair.