Количество результатов поиска составляет 5000, если для атрибута Count задано значение 20 000 в Microsoft Dynamics CRM

В этой статье описано, как решить проблему, из-за чего количество возвращаемых результатов поиска составляет 5000, даже если в схеме FetchXml для атрибута Count задано значение 20 000.

Область применения: Microsoft Dynamics CRM 2011 г.
Оригинальный номер базы знаний: 911510

Важно!

В статье содержатся сведения об изменении реестра. Перед внесением изменений рекомендуется создать резервную копию реестра. и изучить процедуру его восстановления на случай возникновения проблемы. Для получения дополнительной информации о том, как создать резервную копию, восстановить и изменить реестр, см. Сведения о резервном копировании и восстановлении реестра Windows.

Симптомы

Атрибут в схеме Count FetchXml используется для создания запроса к базе данных Microsoft Dynamics CRM. Затем задайте для атрибута Count значение 20 000. В этом сценарии количество возвращаемых результатов поиска составляет 5000. Кроме того, инструкция на языке SQL всегда зависит от того, SELECT что задано для атрибута Count и для атрибутаPaging.SELECT TOP 5001

Причина

Эта проблема возникает при использовании схемы FetchXml для получения результирующего поискового набора и если moreRecords атрибут имеет значение 1. Значение 1 указывает, что доступно более 5000 записей. В Microsoft Dynamics CRM Paging атрибут имеет ограничение на страницу 5000.

Решение

Корпорация Майкрософт предоставляет примеры программирования только в целях демонстрации без явной или подразумеваемой гарантии. Данное положение включает, но не ограничивается этим, подразумеваемые гарантии товарной пригодности или соответствия отдельной задаче. Эта статья предполагает, что пользователь знаком с представленным языком программирования и средствами, используемыми для создания и отладки процедур. Инженеры службы поддержки Майкрософт могут объяснить функциональность отдельной процедуры. обязаны изменять примеры для реализации дополнительных возможностей или удовлетворения требований конкретных пользователей.

Чтобы устранить эту проблему, используйте Paging атрибут для получения записей. Затем используйте moreRecords атрибут в результирующем наборе поиска, чтобы определить, следует ли вернуть следующую страницу.

Например, в следующем коде показано, как устранить эту проблему.

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

Дополнительная информация

Предупреждение

При неправильном изменении реестра с использованием редактора реестра или другого способа могут случиться серьезные проблемы. Для решения этих проблем может потребоваться переустановка операционной системы. Компания Microsoft не может гарантировать, что эти проблемы могут быть решены. Вносите изменения в реестр на ваш страх и риск.

Чтобы ограничить страницу значением меньше 5000, добавьте MaxRowsPerPage значение DWORD в реестр. Для этого выполните следующие действия:

  1. Нажмите Пуск, Выполнить, введите regedit в поле Открыть, затем нажмите OK.

  2. Найдите и выделите следующий подраздел реестра:

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSCRM

  3. В меню Правка наведите указатель мыши на пункт Создать, а затем выберите значение DWORD.

  4. Введите MaxRowsPerPage и нажмите клавишу ВВОД.

  5. Щелкните правой кнопкой мыши MaxRowsPerPage и выберите команду Изменить.

  6. Введите число, которое меньше или равно 5000 в поле Значение, а затем нажмите кнопку ОК.

  7. В меню Файл выберите Выход.

Чтобы отключить функцию подкачки, а затем игнорировать MaxRowsPerPage параметр 5000, добавьте TurnOffFetchThrottling значение DWORD в реестр. Для этого выполните следующие действия:

Примечание.

Выполнение этих действий может привести к проблемам с производительностью на компьютере.

  1. Нажмите Пуск, Выполнить, введите regedit в поле Открыть, затем нажмите OK.

  2. Найдите и выделите следующий подраздел реестра:

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSCRM

  3. В меню Правка наведите указатель мыши на пункт Создать, а затем выберите значение DWORD.

  4. Введите TurnOffFetchThrottling и нажмите клавишу ВВОД.

  5. Щелкните правой кнопкой мыши TurnOffFetchThrottling и выберите команду Изменить.

  6. Введите число, отличное от 0, в поле Значение и нажмите кнопку ОК.

    Примечание.

    Шаг 6 позволяет получить количество записей, указанных в атрибуте Count оператора fetch.

  7. В меню Файл выберите Выход.