交易隔離等級

適用於:SQL ServerAzure SQL 受控執行個體

SQL Server 不保證鎖定提示在透過目錄檢視、相容性檢視、資訊架構檢視、元數據發出內建函式來存取元數據的查詢中將會接受。

在內部,SQL Server Database Engine 只會接受 READ COMMITTED 元數據存取的隔離等級。 例如,如果交易具有隔離等級,例如, SERIALIZABLE 在交易中,嘗試使用目錄檢視或發出元數據的內建函式來存取元數據,這些查詢會執行,直到它們完成為 READ COMMITTED為止。 但在快照隔離下,對中繼資料的存取可能會因並行的 DDL 作業而失敗。 這是因為元數據未設定版本。 因此,在快照隔離下存取下列項目可能會失敗:

  • 目錄視圖
  • 相容性檢視
  • 資訊架構視圖
  • 發出中繼資料的內建函數
  • sp_help 預存程式的群組
  • SQL Server Native Client 目錄程序
  • 動態管理檢視與函數

欲了解更多隔離水平資訊,請參見 SET TRANSACTION ISOLATION LEVEL

下表提供在各種隔離等級下存取中繼資料的摘要。

隔離等級 Supported Honored
READ UNCOMMITTED No 不保證
READ COMMITTED Yes Yes
REPEATABLE READ No No
SNAPSHOT ISOLATION No No
SERIALIZABLE No No