共用方式為


伺服器組態:索引建立記憶體

適用於:SQL Server

本文說明如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中設定 index create memory 伺服器組態選項。 選項 index create memory 會控制建立索引時,一開始配置給排序作業的記憶體數量上限。 這個選項的預設值為 0 (自我設定)。 如果稍後需要更多記憶體來建立索引,而且記憶體可供使用,伺服器就會使用它。 這樣做超過此選項的設定。 如果無法使用更多記憶體,索引建立會繼續使用已配置的記憶體。

限制

每個查詢選項的最小記憶體設定優先順序高於 index create memory 選項。 如果您同時變更選項且 index create memory 小於 min memory per query,您會收到警告訊息,但已設定值。 執行查詢時,您會看到同樣的警告。

當您使用分割數據表和索引時,如果有非對齊的數據分割索引和高度平行處理原則,索引建立的最低記憶體需求可能會大幅增加。 此選項會控制在單一索引建立作業中,為所有索引資料分割配置的初始記憶體數量總計。 如果此選項所設定的數量小於執行查詢所需的最小值,查詢就會以錯誤訊息終止。

此選項的執行值不會超過可用於 SQL Server 執行所在的作業系統和硬體平台的實際記憶體數量。

建議

此選項是進階選項,只有具經驗的資料庫管理員或通過認證的 SQL Server 專業人員才可變更。

此選項 index create memory 是自我設定,而且通常不需要調整即可運作。 然而,如果無法建立索引,請考慮增加這個選項的執行值。

對生產系統建立索引通常是難得執行的工作,多半排程為工作在離峰時間執行。 因此,在建立索引不常且在離峰時間期間,增加 index create memory 可以改善索引建立的效能。 不過,將每個查詢組態選項的最小記憶體保留為較低的數位,因此即使所有要求的記憶體都無法使用,索引建立作業仍會啟動。

權限

不含參數或只含第一個參數之 sp_configure 上的執行權限預設會授與所有使用者。 以同時設定兩個參數的 sp_configure 來變更組態選項或執行 RECONFIGURE 陳述式時,使用者必須取得 ALTER SETTINGS 伺服器層級權限。 sysadminserveradmin 固定伺服器角色隱含地持有 ALTER SETTINGS 權限。

使用 SQL Server Management Studio

  1. 在物件總管中,請以滑鼠右鍵按一下伺服器,然後選取 [屬性]。

  2. 選取 [ 記憶體] 節點。

  3. [索引建立記憶體] 之下,輸入或選取所要的索引建立記憶體選項值。

    index create memory使用 選項來控制索引建立排序所使用的記憶體數量。 此選項 index create memory 是自我設定,在大部分情況下應該運作,而不需要調整。 然而,如果無法建立索引,請考慮增加這個選項的執行值。 查詢排序是透過 min memory per query 選項來控制。

使用 Transact-SQL

  1. 連線至資料庫引擎。

  2. 在標準列上,選取 [新增查詢]

  3. 複製下列範例並將其貼到查詢視窗中,然後選取 [執行]。 此範例示範如何使用 sp_configureindex create memory 選項的值設定為 4096

    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'index create memory', 4096;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'show advanced options', 0;
    GO
    
    RECONFIGURE;
    GO
    

如需詳細資訊,請參閱伺服器設定選項

後續操作:設定索引建立記憶體選項之後

設定會立即生效,不需要重新啟動伺服器。