公式ドキュメントだと文字だけの情報なので、図解することで分かりやすく理解してもらえるように説明してみました。 わかり辛かったらすみません! SQL Serverのロックとは DB上でデータを操作(SELECT/INSERT/UPDATE/DELETE等)する際、データの整合性を保つために使われる排他制御の仕組み。 例えば、「1つのレコードを一度に更新できるのは、1つのクエリだけ」といったルールを実現してくれる。 RDBMSのトランザクションのプロパティ「ACID」のうち、主にI(Isolation)を満たすための仕組みです。 SQL Serverのロックを理解するための3つのポイント 1.ロックには複数の粒度(階層とも呼ばれる)が存在する 2.ロックには複数の種類が存在する(ロックモード) 3.各ロックモード間には「互換性」という関係性がある 以降で順を追って説明する。 なぜロックについて
![SQL Serverのロックについて出来る限り分かりやすく解説 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/5700715f4ab3b05fb2787ff6059e53a41f443567/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9U1FMJTIwU2VydmVyJUUzJTgxJUFFJUUzJTgzJUFEJUUzJTgzJTgzJUUzJTgyJUFGJUUzJTgxJUFCJUUzJTgxJUE0JUUzJTgxJTg0JUUzJTgxJUE2JUU1JTg3JUJBJUU2JTlEJUE1JUUzJTgyJThCJUU5JTk5JTkwJUUzJTgyJThBJUU1JTg4JTg2JUUzJTgxJThCJUUzJTgyJThBJUUzJTgyJTg0JUUzJTgxJTk5JUUzJTgxJThGJUU4JUE3JUEzJUU4JUFBJUFDJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz00NjMwNDNiMzJhNTdiNjhlZGQ0Y2UxODZhMmZlYWY2Yw%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQwcDJzayUyMGluJTIwJUU2JUEwJUFBJUU1JUJDJThGJUU0JUJDJTlBJUU3JUE0JUJFWk9aTyZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTMyJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MzdmM2YyNmFiNzFjNGYyMDU5NzdjOGQ4ODZiM2ZiODA%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Dbbb14084ad2ec50248754dec5f044791)