日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

死鎖

本文介紹如何通過控制臺查看RDS SQL Server數據庫中的死鎖及其詳細信息。

前提條件

實例不能是RDS SQL Server 2008 R2云盤版。

背景信息

由于事務的特殊機制,一個事務對特定資源進行修改的同時會鎖定該資源,防止其他并發事務對該資源進行修改,以達到數據一致性的目的。

死鎖(DeadLock)通常是由多個事務互相競爭資源引發的。例如,事務A在修改資源A的同時,發起了對資源B的修改,而此時事務B正在修改資源B,并且對資源A發起了修改,便會引發死鎖。如下圖所示。死鎖

死鎖會導致受害者會話(即使用成本相對較低的SQL語句的會話)被系統終止(Kill),無法完成該會話既定的任務。

為解決上述問題,RDS提供了DeadLock統計頁面。通過查看該頁面,可快速定位數據庫中發生的多種類型的死鎖。死鎖的詳細信息頁面展示了事務開始執行的時間、會話ID、被鎖資源詳情、死鎖的類型等信息,幫助您定位和優化引發死鎖的問題SQL及其他異常。

死鎖類型

DeadLock統計頁面中包含如下5種死鎖類型:

  • KeyDeadlock

  • ObjectDeadLock

  • RIDDeadlock

  • PageDeadlock

  • ComplieDeadlock

關于每種死鎖類型的解釋,請參見鎖粒度和層次結構。

鎖模式

事務訪問資源時根據訪問類型的不同,會使用不同的鎖模式(LockMode)鎖定資源。包含如下幾種模式:

  • 共享鎖(S):保證目標資源在鎖定期間只能被讀取,不能被修改。

  • 更新鎖(U):預定對目標資源施加排它鎖(X),在資源被當前事務施加排它鎖之前,保證該資源不會被其他事務修改。

  • 排它鎖(X):保證目標資源在鎖定期間無法被其他事務訪問。

關于鎖模式的更多信息,請參見鎖模式。

操作步驟

  1. 訪問RDS實例列表,在上方選擇地域,然后單擊目標實例ID。
  2. 在左側導航欄,選擇自治服務 > 鎖優化。

頁面介紹

  • 死鎖數量概覽死鎖數量

    可分時段查看近期產生的死鎖數量。

  • 死鎖變化趨勢死鎖變化趨勢

    展示某個時間段內發生的死鎖類型。您可以執行如下操作:

    • 選擇起始日期結束日期,單擊查找顯示指定時間段的死鎖信息。

      說明

      指定的時間間隔不能超過30天。

    • 單擊近一天、近一周、近一月快捷查詢所選時間段的死鎖信息。

    • 將鼠標移動到特定的時間點,可查詢該時間點內發生的死鎖類型和數量。

    • 單擊趨勢圖右上角的圖標圖標,切換趨勢圖的顯示樣式或下載當前趨勢圖。

  • 死鎖詳細信息死鎖詳細信息

    單擊左邊的加號圖標可展示相互鎖定的會話詳情。包含如下內容:

    • LastTranStarted:事務開啟的時間。

    • SPID:開啟事務的會話ID。

    • IsVictim:該會話是否已被終止(kill)。

      說明

      SQL Server解決死鎖的方法是通過一個內部線程定期檢測系統死鎖,發現死鎖后,在引發死鎖的會話之間終止成本相對較低的會話。例如:SELECT語句的成本比UPDATE更低,系統便會優先終止使用SELECT的會話。

    • LogUsed:會話已經生成的日志大小。單位:字節。

    • LockMode:鎖模式。更多信息,請參見鎖模式。

    • WaitResourceDesc:當前事務等待中的資源詳情。

    • ObjectOwned:已經被鎖住的對象。

    • ObjectRequested:當前事務請求加鎖的對象。

    • WaitResource:當前事務等待中的資源。

    • HostName:當前事務的主機名稱。

    • LoginName:當前事務的賬號名稱。

    • Status:當前事務的狀態。

    • ClientApp:當前事務所使用的客戶端名稱。

    • SQLText:SQL語句詳情。

      說明

      單擊該SQL語句可打開SQL語句窗口,單擊點擊復制可快速復制SQL語句,方便排查或回溯有問題SQL。

    單擊任意一行內容可在下方展示對應的死鎖關系圖。

  • 死鎖關系圖死鎖關系圖

    展示發生死鎖的會話之間的相互關系以及被鎖定資源的詳細信息。您可以單擊點擊下載按鈕下載XDL文件,該文件中記錄了對應當前死鎖的詳細內容,可通過SQL Server Management Studio(SSMS)客戶端打開并查看。