分享方式:


伺服器組態:查詢等候

適用於:SQL Server

本文說明如何使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 中設定 查詢等候 伺服器組態選項。 當沒有足夠的記憶體可供執行查詢時,會排入需要大量記憶體的查詢(例如,涉及排序和哈希的查詢)。 查詢 等候 選項會指定時間,以秒為單位(從 0 到 2,147,483,647),查詢會在逾時之前等候資源。此選項的預設值為 -1。 這表示逾時時間就會是估計查詢成本的 25 倍。

重要

當查詢在等候記憶體時,包含等候中查詢的交易可能會持有鎖定。 在罕見的情況下,可能發生無法偵測到的死結。 減少查詢等候時間會降低發生這類死結的可能性。 最後,等待的查詢會終止,並釋放其交易鎖定。 不過,增加等候時間上限可能會增加要終止查詢的時間量。 不建議變更此選項。

建議

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

權限

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

使用 SQL Server Management Studio

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

  2. 選取 [進階] 節點。

  3. [平行處理原則] 下方,為 query wait 選項輸入想要的值。

使用 Transact-SQL

  1. 連線至資料庫引擎。

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

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

    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'query wait', 7500;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'show advanced options', 0;
    GO
    
    RECONFIGURE;
    GO
    

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

待處理:設定查詢等候選項之後

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