MICROSOFT SQL Server 中的 Memory Manager 物件提供計數器來監視整體伺服器記憶體使用量。 監視整體伺服器記憶體使用量以量測用戶活動和資源使用量,可協助您找出效能瓶頸。 監視 SQL Server 實例所使用的記憶體有助於判斷:
如果因物理記憶體不足而存在瓶頸,以將經常存取的數據儲存在快取中。 如果記憶體不足,SQL Server 必須從磁碟擷取數據。
如果可以藉由新增更多記憶體或讓更多記憶體可供數據快取或 SQL Server 內部結構使用,來改善查詢效能。
記憶體管理員計數器
下表描述 SQL Server 記憶體管理員 計數器。
| SQL Server Memory Manager 計數器 | 說明 |
|---|---|
| 連接記憶體(KB) | 指定伺服器用於維持連線的動態記憶體總量。 |
| 資料庫快取記憶體 (KB) | 指定伺服器目前用於資料庫頁面快取的記憶體數量。 |
| 可用記憶體 (KB) | 指定伺服器目前未使用的已認可記憶體數量。 |
| 授與工作區內存 (KB) | 指定目前授與執行進程的記憶體總數,例如哈希、排序、大量複製和索引建立作業。 |
| 鎖定區塊 | 指定伺服器上目前使用的鎖定區塊數目(定期重新整理)。 鎖定區塊代表個別鎖定的資源,例如數據表、頁面或數據列。 |
| 已配置的鎖定區塊 | 顯示目前配置的鎖定區塊數目。 在伺服器啟動時,配置的鎖定區塊數目加上配置的鎖定擁有者區塊數目取決於 SQL Server Locks 配置選項。 如果需要更多鎖定區塊,值就會增加。 |
| 鎖定記憶體 (KB) | 指定伺服器用於鎖的動態記憶體總量。 |
| 鎖定擁有者區塊 | 指定目前在伺服器上使用的鎖擁有者區塊數量(定期重新整理)。 鎖擁有權的區塊表示個別執行緒在物件上的鎖定擁有權。 因此,如果頁面上各有三個線程有共用的 (S) 鎖定,則會有三個鎖定擁有者區塊。 |
| 已配置的鎖定擁有者區塊 | 當前已配置的鎖定擁有者區塊數目。 在伺服器啟動時,配置的鎖擁有者區塊數目和配置的鎖區塊數目取決於 SQL Server 鎖 配置選項。 如果需要更多鎖所有者區塊,該值會動態增加。 |
| 工作區內存上限 (KB) | 指出執行進程可用的記憶體數量上限,例如哈希、排序、大量複製和索引建立作業。 |
| 記憶體授權待處理 | 指定已成功取得工作區內存授與的進程總數。 |
| 記憶體授與擱置中 | 指定等候工作區內存授與的進程總數。 |
| 優化器記憶體 (KB) | 指定伺服器用於查詢優化的動態記憶體總數。 |
| 保留的伺服器記憶體 (KB) | 指出伺服器保留供日後使用的記憶體數量。 此計數器會顯示已授予但目前未使用的記憶體量,最初被分配的量顯示在 已授予工作區記憶體 (KB) 中。 |
| SQL 快取記憶體 (KB) | 指定伺服器用於動態 SQL 快取的動態記憶體總數。 |
| 遭竊的伺服器記憶體 (KB) | 指定伺服器用於資料庫頁面以外的用途的記憶體數量。 |
| 目標伺服器記憶體 (KB) | 表示伺服器可取用的理想記憶體數量。 |
| 伺服器記憶體總計 (KB) | 伺服器分配使用記憶體管理員的記憶體數量。 |
另請參閱
監視資源使用狀況 (系統監視器)
SQL Server,Buffer Manager 物件
sys.dm_os_performance_counters (Transact-SQL)