📚

SQL Serverにおけるトランザクション分離レベルの確認方法

2024/12/11に公開

トランザクション分離レベルの確認方法

以下のクエリを実行することで、現在のトランザクション分離レベルを確認できます。

DBCC USEROPTIONS;

実行結果はこのようになり、現在のセッションで有効な設定が一覧表示されます。
この中の「isolation level」が、現在のトランザクション分離レベルになります。

トランザクション分離レベルの変更方法

以下のクエリを実行することで、トランザクション分離レベルを変更できます。

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

トランザクション分離レベルの一覧

  • READ UNCOMMITTED
  • READ COMMITTED
  • REPEATABLE READ
  • SNAPSHOT
  • SERIALIZABLE

(補足)READ COMMITTED SNAPSHOTに変更したい場合

  1. 以下のクエリーを実行し、is_read_committed_snapshot_onの値を確認します。(1:有効、0:無効)
SELECT
	name,
	is_read_committed_snapshot_on
FROM
	sys.databases
WHERE
	name = 'データベース名';
  1. 以下のコマンドを実行します。
ALTER DATABASE データベース名 SET READ_COMMITTED_SNAPSHOT ON;
  1. 1のクエリーを再度実行し、有効になっていることを確認します。

Discussion