鎖為多用戶環境下資源存取限制機制。資源加鎖後有存取限制,稱「鎖定」。SQL Server 可鎖定對象:
INSERT/UPDATE/DELETE 時自動使用。有其他鎖存在時無法加獨佔鎖。事務結束前不釋放SELECT 執行時通常加共享鎖。資料頁讀完通常**立即釋放**隔離等級指定資料庫如何保護(鎖定)當前被其他用戶/伺服器請求使用的資料。效果等同 SELECT 中使用鎖定選項。四大隔離等級:
SELECT 不返回未提交資料/髒資料。**SQL Server 預設隔離等級**SELECT 讀取資料在整個命令執行過程中不被更改。影響效能,非必要勿用DELETE 中 SERIALIZABLE 選項含義使用 SET 命令設定:
SET TRANSACTION ISOLATION LEVEL
{READ COMMITTED
| READ UNCOMMITTED
| REPEATABLE READ
| SERIALIZABLE }
可透過企業管理器或預存程序查看鎖。企業管理器:目錄樹「Management」→「Current Activity」→「Locks / Process ID」節點。