SQL Server 的 Locks 物件
適用於:SQL Server
瞭解 Microsoft SQL Server 中的 SQLServer:Locks 物件,其提供有關個別資源類型上的 SQL Server 鎖定資訊。 鎖定發生於 SQL Server 資源上,例如交易期間讀取或修改的資料列,以避免不同交易同時使用資源。 例如,若某個交易將資料表內的資料列獨佔 (X) 鎖定,就沒有其他交易可修改該資料列,直到鎖定解除為止。 將鎖定減至最少可增加並行 (Concurrency),以改善效能。 您可同時監視 Locks 物件的多個執行個體,每個執行個體都代表一種資源類型的鎖定。
下表描述 SQL Server Locks 計數器。
SQL Server Locks 計數器 | 描述 |
---|---|
Average Wait Time (ms) | 造成等候的各個鎖定要求之平均等候時間 (以毫秒為單位)。 |
Average Wait Time Base | 僅供內部使用。 |
Lock Requests/sec | 鎖定系統管理員每秒要求的新鎖定和鎖定轉換數。 |
鎖定逾時 (timeout > 0)/秒 | 已逾時的每秒鎖定要求數,但不包括 NOWAIT 鎖定的要求。 |
Lock Timeouts/sec | 已逾時的每秒鎖定要求數,包括 NOWAIT 鎖定的要求。 |
Lock Wait Time (ms) | 最後一秒內的鎖定總等候時間 (以毫秒為單位)。 |
Lock Waits/sec | 每秒需要呼叫者等候的鎖定要求次數。 |
Number of Deadlocks/sec | 造成死結的每秒鎖定要求數。 |
SQL Server 可以鎖定這些資源。
項目 | 描述 |
---|---|
_Total | 所有鎖定的資訊。 |
AllocUnit | 配置單位的鎖定。 |
應用程式 | 應用程式指定資源的鎖定。 |
Database | 資料庫的鎖定,包括資料庫中的所有物件。 |
Extent | 八頁連續群組的鎖定。 |
檔案 | 資料庫檔案的鎖定。 |
堆積/B 型樹狀結構 | 堆積或 B 型樹狀結構。 資料頁面堆積的鎖定,或是索引之 B 型樹狀結構的鎖定。 |
索引鍵 | 索引中之資料列的鎖定。 |
中繼資料 | 一項目錄資訊 (亦稱為中繼資料) 的鎖定。 |
Object | 資料表、預存程序、檢視等 (包括所有資料和索引) 的鎖定。 物件可以是 中 sys.all_objects 具有專案的任何專案。 |
OIB | 適用於線上編製索引鎖定的鎖定資源 (特別是線上編製索引 LOB 追蹤資料表)。 |
頁面 | 資料庫中 8 KB 分頁的鎖定。 |
RID | 資料庫識別碼。 堆積中單一資料列的鎖定。 |
RowGroup | 適用於資料行存放區索引資料列群組的鎖定資源。 |
Xact | 適用於交易的鎖定資源。 |
注意
文件通常會使用「B 型樹狀結構」一詞來指稱索引。 在資料列存放區索引中,資料庫引擎會實作 B+ 樹狀結構。 這不適用於資料行存放區索引或經記憶體最佳化的資料表。 如需詳細資訊,請參閱 SQL Server 和 Azure SQL 索引架構和設計指南。
範例
您可以使用 sys.dm_os_performance_counters 動態管理檢視的 T-SQL 查詢,開始探索此物件中的查詢效能計數器:
SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Locks%';