將 Count 屬性設定為 20000 時,搜尋結果的數目為 5000 Microsoft Dynamics CRM

本文提供解決方法:即使您在 FetchXml 架構中將 Count 屬性設定為 20,000,傳回的搜尋結果數目也是 5,000。

適用於:Microsoft Dynamics CRM 2011 年
原始 KB 編號: 911510

重要事項

本文包含如何修改「登錄檔」的相關資訊。 修改登錄之前,請務必先備份, 並了解如何在發生問題時還原登錄。 有關如何備份、還原和修改登錄的詳細資訊,請參閱 Windows 備份及登錄方法說明

徵狀

您可以使用 Count FetchXml 架構中的 屬性,針對 Microsoft Dynamics CRM 資料庫建立查詢。 然後,將屬性設定 Count 為 20,000。 在此案例中,傳回的搜尋結果數目為 5,000。 此外,SELECT不論屬性和 Paging 屬性的設定Count為何,SQL 語言中的 語句一律SELECT TOP 5001為 。

原因

當您使用 FetchXml 架構來擷取產生的搜尋集,以及當 屬性設定為 1 時, moreRecords 就會發生此問題。 值為 1 表示有超過 5,000 筆記錄可供使用。 在 Microsoft Dynamics CRM 中Paging,屬性的頁面限制為5,000。

解決方案

Microsoft 提供的程式設計範例僅供說明之用,並不具任何明示或暗示的責任擔保。 這包括 (但不限於) 任何目的之適售性及適用性的暗示責任擔保。 本文假設您熟悉示範的程式設計語言,也熟悉用以建立和偵錯程序的工具。 Microsoft 支援工程師可協助說明特定程序的功能。 不過,他們不會修改這些範例以提供附加功能或建構程序來滿足您的特定需求。

若要解決此問題,請使用 Paging 屬性來擷取記錄。 然後,使用 moreRecords 結果搜尋集中的 屬性來判斷是否應該傳回下一頁。

例如,下列程式代碼示範如何解決此問題。

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

其他相關資訊

警告

Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall the operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

若要將頁面限制調整為小於 5,000 的值,請將 DWORD 值新 MaxRowsPerPage 增至登錄。 如果要執行這項操作,請依照下列步驟執行:

  1. 選取 [開始],再選取 [執行],在 [開啟] 方塊中輸入 regedit,然後按一下 [確定]

  2. 找出並選取下列登錄子機碼:

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSCRM

  3. 在 [ 編輯] 功能表上,指向 [ 新增],然後選取 [DWORD 值]

  4. 輸入 MaxRowsPerPage,然後按 ENTER。

  5. 以滑鼠右鍵按兩下 [MaxRowsPerPage],然後選取 [ 修改]

  6. 在 [ 值數據 ] 方塊中輸入小於或等於 5,000 的數字,然後選取 [ 確定]

  7. 選取 [檔案] 功能表上的 [結束]

若要關閉分頁功能,然後忽略 MaxRowsPerPage 5,000 的參數,請將 DWORD 值新 TurnOffFetchThrottling 增至登錄。 如果要執行這項操作,請依照下列步驟執行:

注意事項

執行這些步驟可能會在您的電腦上造成效能問題。

  1. 選取 [開始],再選取 [執行],在 [開啟] 方塊中輸入 regedit,然後按一下 [確定]

  2. 找出並選取下列登錄子機碼:

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSCRM

  3. 在 [ 編輯] 功能表上,指向 [ 新增],然後選取 [DWORD 值]

  4. 輸入 TurnOffFetchThrottling,然後按 ENTER。

  5. 以滑鼠右鍵按兩下 [TurnOffFetchThrottling],然後選取 [ 修改]

  6. 在 [ 值數據 ] 方塊中輸入 0 以外的數字,然後選取 [ 確定]

    注意事項

    步驟 6 可讓您擷取 fetch 語句的 Count 屬性中指定的記錄數目。

  7. 選取 [檔案] 功能表上的 [結束]