Share via


SQL Server 的 Locks 物件

Microsoft SQL Server 中的 SQLServer:Locks 物件會提供有關個別資源類型的 SQL Server 鎖定資訊。鎖定發生於 SQL Server 資源上,例如交易期間讀取或修改的資料列,以避免不同交易同時使用資源。例如,若某個交易將資料表內的資料列獨佔 (X) 鎖定,就沒有其他交易可修改該資料列,直到鎖定解除為止。將鎖定減至最少可增加並行 (Concurrency),以改善效能。您可同時監視 Locks 物件的多個執行個體,每個執行個體都代表一種資源類型的鎖定。

下表說明 SQL ServerLocks 計數器。

SQL Server Locks 計數器

描述

Average Wait Time (ms)

造成等候的各個鎖定要求之平均等候時間 (以毫秒為單位)。

Lock Requests/sec

鎖定系統管理員每秒要求的新鎖定和鎖定轉換數。

Lock Timeouts (timeout > 0)/sec

已逾時的每秒鎖定要求數,但不包括 NOWAIT 鎖定的要求。

Lock Timeouts/sec

已逾時的每秒鎖定要求數,包括 NOWAIT 鎖定的要求。

Lock Wait Time (ms)

最後一秒內的鎖定總等候時間 (以毫秒為單位)。

Lock Waits/sec

每秒需要呼叫者等候的鎖定要求次數。

Number of Deadlocks/sec

造成死結的每秒鎖定要求數。

SQL Server 可鎖定這些資源。

項目

描述

_Total

所有鎖定的資訊。

AllocUnit

配置單位的鎖定。

Application

應用程式指定資源的鎖定。

Database

資料庫的鎖定,包括資料庫中的所有物件。

Extent

八頁連續群組的鎖定。

File

資料庫檔案的鎖定。

Heap/BTree

堆積或 BTree (HOBT)。資料頁堆積的鎖定,或是索引之 BTree 結構的鎖定。

Key

索引中之資料列的鎖定。

Metadata

一項目錄資訊 (亦稱為中繼資料) 的鎖定。

Object

資料表、預存程序、檢視等 (包括所有資料和索引) 的鎖定。物件可以是在 sys.all_objects 中擁有項目的任何東西。

Page

資料庫中 8 KB 分頁的鎖定。

RID

資料列識別碼。堆積中單一資料列的鎖定。