SQL Serverでは変更されたレコードがコミットされるまで排他ロックされる

http://www.microsoft.com/japan/sqlserver/2005/ssj/tips/02.mspx
SQLサーバではあるセッションでレコードを更新してからコミットされるまでの間、他のセッションからそのレコードを読もうとすると読み取り待ちになる。
SQLの内部動作として全権走査が走った場合でも読み取り待ちになるのでテーブル全体がロックされているかのように見える場合も多い。



以上がデフォルト動作だが、「READ_COMMITTED_SNAPSHOT」と「スナップショット分離レベル」の設定の変更により、Oracleのように他のセッションで変更されてコミット前のレコードは変更前の情報が見えるという動きにすることもできる。