查詢鎖的表含義(sp_lock)

來源:互聯網
上載者:User

在 Microsoft SQL Server 2005 中包含此系統預存程序主題僅僅是為了實現向後相容性。若要擷取有關 SQL Server 2005 Database Engine 中的鎖的資訊,請使用 sys.dm_tran_locks 動態管理檢視。有關詳細資料,請參閱 sys.dm_tran_locks。

SP_LOCK

其顯示資訊為:

列名 資料類型 說明

spid

smallint

請求鎖的進程的資料庫引擎 進程 ID (SPID) 號。

dbid

smallint

保留鎖的資料庫的標識號。可以使用 DB_NAME() 函數來標識資料庫。

ObjId

int

持有鎖的對象的標識號。可以在相關資料庫中使用 OBJECT_NAME() 函數來標識對象。值為 99 時是一種特殊情況,表示用於記錄資料庫中頁分配的其中一個系統頁的鎖。

IndId

smallint

持有鎖的索引的索引標識號。

Type

nchar(4)

鎖的類型:

RID = 表中單個行的鎖,由行標識符 (RID) 標識。

KEY = 索引內保護可串列事務中一系列鍵的鎖。

PAG = 資料頁或索引頁的鎖。

EXT = 區(具有 8 個連續頁的單元)的鎖。

TAB = 整個表(包括所有資料和索引)的鎖。

DB = 資料庫的鎖。

FIL = 資料庫檔案的鎖。

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

MD = 中繼資料或目錄資訊的鎖。

HBT = 堆或 B 樹索引的鎖。在 SQL Server 2005 中此資訊不完整。

AU = 配置單位的鎖。在 SQL Server 2005 中此資訊不完整。

Resource

nchar(32)

標識被鎖定資源的值。值的格式取決於 Type 列標識的資源類型:

Type 值:Resource 值

RID:格式為 fileid:pagenumber:rid 的標識符,其中 fileid 標識包含頁的檔案,pagenumber 標識包含行的頁,rid 標識頁上的特定行。fileid 與 sys.database_files 目錄檢視中的 file_id 列相匹配。

KEY:資料庫引擎 內部使用的十六進位數。

PAG:格式為 fileid:pagenumber 的數字,其中 fileid 標識包含頁的檔案,pagenumber 標識頁。

EXT:標識區中的第一頁的數字。該數位格式為 fileid:pagenumber。

TAB:沒有提供資訊,因為已在 ObjId 列中標識了表。

DB:沒有提供資訊,因為已在 dbid 列中標識了資料庫。

FIL:檔案的標識符,與 sys.database_files 目錄檢視中的 file_id 列相匹配。

APP:被鎖定的應用程式資源的唯一識別碼。格式為 DbPrincipleId:<資源字串的前 2 個到 16 個字元><雜湊運算值>。

MD:隨資源類型而變化。有關詳細資料,請參閱 sys.dm_tran_locks 中 resource_description 列的說明。

HBT:沒有提供任何資訊。請改用 sys.dm_tran_locks 動態管理檢視。

AU:沒有提供任何資訊。請改用 sys.dm_tran_locks 動態管理檢視。

模式

nvarchar(8)

所請求的鎖模式。可以是:

NULL = 不授予對資源的存取權限。用作預留位置。

Sch-S = 架構穩定性。確保在任何會話持有對架構元素(例如表或索引)的架構穩定性鎖時,不刪除該架構元素。

Sch-M = 架構修改。必須由要更改指定資源架構的任何會話持有。確保沒有其他會話正在引用所指定的對象。

S = 共用。授予持有鎖的會話對資源的共用存取權限。

U = 更新。指示對最終可能更新的資源擷取的更新鎖定。用於防止一種常見的死結,這種死結在多個會話鎖定資源以便稍後對資源進行更新時發生。

X = 排他。授予持有鎖的會話對資源的獨佔存取權限。

IS = 意圖共用。指示有意將 S 鎖放置在鎖階層中的某個從屬資源上。

IU = 意向更新。指示有意將 U 鎖放置在鎖階層中的某個從屬資源上。

IX = 意向排他。指示有意將 X 鎖放置在鎖階層中的某個從屬資源上。

SIU = 共用意向更新。指示對有意在鎖階層中的從屬資源上擷取更新鎖定的資源進行共用訪問。

SIX = 共用意向排他。指示對有意在鎖階層中的從屬資源上擷取獨佔鎖定的資源進行共用訪問。

UIX = 更新意向排他。指示對有意在鎖階層中的從屬資源上擷取獨佔鎖定的資源持有的更新鎖定。

BU = 大容量更新。用於大容量操作。

RangeS_S = 共用鍵範圍和共用資源鎖。指示可串列範圍掃描。

RangeS_U = 共用鍵範圍和更新資源鎖。指示可串列更新掃描。

RangeI_N = 插入鍵範圍和空資源鎖。用於在將新鍵插入索引前測試範圍。

RangeI_S = 鍵範圍轉換鎖。由 RangeI_N 和 S 鎖的重疊建立。

RangeI_U = 由 RangeI_N 和 U 鎖的重疊建立的鍵範圍轉換鎖。

RangeI_X = 由 RangeI_N 和 X 鎖的重疊建立的鍵範圍轉換鎖。

RangeX_S = 由 RangeI_N 和 RangeS_S 鎖的重疊建立的鍵範圍轉換鎖。

RangeX_U = 由 RangeI_N 和 RangeS_U 鎖的重疊建立的鍵範圍轉換鎖。

RangeX_X = 排他鍵範圍和排他資源鎖。這是在修改範圍中的鍵時使用的轉換鎖。

Status

nvarchar(5)

鎖的請求狀態:

CNVRT:鎖正在從另一種模式進行轉換,但是轉換被另一個持有鎖(模式相衝突)的進程阻塞。

GRANT:已擷取鎖。

WAIT:鎖被另一個持有鎖(模式相衝突)的進程阻塞。

   
   
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.