SQLServerのデッドロックを調査している中でロックの状態を調べるSQLがあることが判明したのでメモします。ロックの状態を取得するSQLロックの状態を取得するSQLは以下のようにすれば取得できるようです。51ロックの種類ロックの種類は以下のものになります。S共有ロック他のトランザクションからの読込は可能。X排他ロック他のトランザクションからの読込・更新が共に不可となる。INSERT、UPDATE、DELETEを実行するとこのロックになる。U更新ロック他のトランザクションからの読込は可能。)を指定するとこのロックになる。一部に対し、要求されているかかけられている共有ロックを保護します。一部に対し、要求されているかかけられている排他ロックを保護します。下位のリソースに対する共有ロックの要求を保護します。一部のインテント排他ロックを保護します。ロックをかけると、変更中のページにインテント排他ロックが、変更中の行に排他ロックがかかります。つのリソースに対しては、一度に1つのSIXロックしかかけられません。その結果、他のトランザクションによってリソースが更新されることはなくなりますが、他のトランザクションはテーブルレベルのISロックをかけることで下位のリソースを読み取ることができます。下位の階層に位置するすべてのリソースに対し、要求されているかかけられている更新ロックを保護します。リソースに対してのみ使用します。ロックに変換されます。SIU共有インテント更新SロックとIUロックを個別にかけるか、同時にかけるかして組み合わせたものです。ヒントを指定してクエリを実行してから更新操作を実行するとします。UIX更新インテント排他UロックとIXロックを個別にかけるか、同時にかけるかして組み合わせたものです。記事を読むストアドプロシジャ内で例外エラーが発生した行番号を取得する。SQLServerで省略可能な引数を持ったストアドプロシージャーを作ります。既存テーブルのデータを新規テーブルにコピーします。簡単だが結構忘れるのでメモします。既存のテーブルから指定した列を削除する既存のテーブルで不要になった列を削除する方法です。Server-ストアドプロシジャーのソースを表示すSQLServer上にあるストアドプロシージャーの更新日時を取得する。