伺服器組態:數據指標閾值
適用於:SQL Server
本文說明如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中設定 cursor threshold
伺服器組態選項。 選項 cursor threshold
會指定數據指標集中以異步方式產生數據指標索引鍵集的數據列數目。 當數據指標產生結果集的索引鍵集時,查詢優化器會估計針對該結果集傳回的數據列數目。 如果查詢最佳化工具估計將傳回的列數會大於這個臨界值,就會以非同步方式產生資料指標,讓使用者在資料指標繼續擴展的同時,可以從資料指標擷取資料列。 否則,會以同步的方式產生資料指標,使查詢等到所有資料列都傳回為止。
限制
SQL Server 不支援以異步方式產生索引鍵集驅動或靜態 Transact-SQL 數據指標。 Transact-SQL 數據指標作業,例如 OPEN
或 FETCH
已批處理,因此不需要異步產生 Transact-SQL 數據指標。 SQL Server 會繼續支援異步索引鍵集驅動或靜態應用程式開發介面 (API) 伺服器數據指標,因為每個數據指標作業的用戶端來回行程,所以延遲很低 OPEN
。
查詢最佳化工具用來決定索引鍵集中估計資料列數的精確度,須視資料指標中每個資料表統計資料的準確度而定。
建議
此選項是進階選項,只有具經驗的資料庫管理員或通過認證的 SQL Server 專業人員才可變更。
如果您設定 cursor threshold
為 -1
,則會同步產生所有索引鍵集,這有利於小型數據指標集。 如果您設定 cursor threshold
為 0
,則會以異步方式產生所有數據指標索引鍵集。 使用其他值時,查詢優化器會比較數據指標集中的預期數據列數目,並在超過 中 cursor threshold
設定的數位時,以異步方式建置索引鍵集。 請勿設定 cursor threshold
太低,因為小型結果集會以同步方式建置。
權限
不含參數或只含第一個參數之 sp_configure
上的執行權限預設會授與所有使用者。 以同時設定兩個參數的 sp_configure
來變更組態選項或執行 RECONFIGURE
陳述式時,使用者必須取得 ALTER SETTINGS
伺服器層級權限。 sysadmin 和 serveradmin 固定伺服器角色隱含地持有 ALTER SETTINGS
權限。
使用 SQL Server Management Studio
在物件總管中,請以滑鼠右鍵按一下伺服器,然後選取 [屬性]。
選取 [進階] 節點。
在 [其他] 下
cursor threshold
,將 選項變更為您想要的值。
使用 Transact-SQL
連線至資料庫引擎。
在標準列上,選取 [新增查詢]。
複製下列範例並將其貼到查詢視窗中,然後選取 [執行]。 這個範例示範如何使用 sp_configure 將
cursor threshold
選項設定為0
,以便以非同步方式產生資料指標索引鍵集。USE master; GO EXECUTE sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXECUTE sp_configure 'cursor threshold', 0; GO RECONFIGURE; GO EXECUTE sp_configure 'show advanced options', 0; GO RECONFIGURE; GO
如需詳細資訊,請參閱伺服器設定選項。
待處理:設定數據指標閾值選項之後
設定會立即生效,不需要重新啟動伺服器。