如何在SQL Server中鎖定某行記錄

2022-05-18 19:59:47 字數 1350 閱讀 6416

select au_lname from authors with (rowlock )

鎖定提示 描述

holdlock 將共享鎖保留到事務完成,而不是在相應的表、行或資料頁不再需要時就立即釋放鎖。holdlock等同於serializable。

nolock 不要發出共享鎖,並且不要提供排它鎖。當此選項生效時,可能會讀取未提交的事務或一組在讀取中間回滾的頁面。有可能發生髒讀。僅應用於 select語句。

paglock 在通常使用單個表鎖的地方採用頁鎖。

readcommitted 用與執行在提交讀隔離級別的事務相同的鎖語義執行掃瞄。預設情況下,sqlserver 2000 在此隔離級別上操作。

readpast 跳過鎖定行。此選項導致事務跳過由其它事務鎖定的行(這些行平常會顯示在結果集內),而不是阻塞該事務,使其等待其它事務釋放在這些行上的鎖。readpast 鎖提示僅適用於執行在提交讀隔離級別的事務,並且只在行級鎖之後讀取。僅適用於select 語句。

readuncommitted 等同於nolock。

repeatableread 用與執行在可重複讀隔離級別的事務相同的鎖語義執行掃瞄。

rowlock 使用行級鎖,而不使用粒度更粗的頁級鎖和表級鎖。

serializable 用與執行在可序列讀隔離級別的事務相同的鎖語義執行掃瞄。等同於holdlock。

tablock 使用表鎖代替粒度更細的行級鎖或頁級鎖。在語句結束前,sqlserver 一直持有該鎖。但是,如果同時指定 holdlock,那麼在事務結束之前,鎖將被一直持有。

tablockx 使用表的排它鎖。該鎖可以防止其它事務讀取或更新表,並在語句或事務結束前一直持有。

updlock 讀取表時使用更新鎖,而不使用共享鎖,並將鎖一直保留到語句或事務的結束。updlock 的優點是允許您讀取資料(不阻塞其它事務)並在以後更新資料,同時確保自從上次讀取資料後資料沒有被更改。

xlock 使用排它鎖並一直保持到由語句處理的所有資料上的事務結束時。可以使用 paglock或 tablock 指定該鎖,這種情況下排它鎖適用於適當級別的粒度

如何在Linux中鎖定和解鎖多個使用者

usermod 和 passwd 命令用於一次鎖定或解鎖乙個使用者帳戶,但也可以使用shell 迴圈用於一次設定多個使用者賬號。我們將建立以下三個shell指令碼來鎖定和解鎖多個帳戶和檢視賬號狀態。列出需要鎖定或解鎖的使用者列表,前提是已經建立了下面的使用者 指令碼一 鎖定多個使用者的指令碼 使用以...

如何在jsp中連線SQLserver資料庫

1 載入jdbc驅動程式 2 建立連線物件connection的例項物件,這裡的url就是sqlserver在電腦中位址,一般都是jdbc sqlserver localhost 1433 埠要和自己電腦上的一致 至於username和password就是資料庫的登入名和密碼了 3 執行sql語句,...

如何在SQL Server 2005中實現資料同步

現在假如有乙個這樣的應用,有乙個遊戲服務商在推廣乙個大型遊戲的時候,現在架設了多台資料庫伺服器,為了資料的便於統計,最終這些資料可以自動的轉入到指定儲存的另一台伺服器中,這時候就會面臨著乙個這樣的問題,如何保證這些多台資料庫之間的資料的同步呢?我們就可以使用複製的辦法,複製是將一組資料或資料庫物件從...