sql >> データベース >  >> RDS >> Sqlserver

SQL Server の SET DEADLOCK_PRIORITY HIGH が受け入れられないのはなぜですか?

    強制終了されているコマンドは ALTER PARTITION FUNCTION のようです。興味深いことに、これには SCH-M ロックが必要ですが、これはすべてに使用される SCH-S ロックと互換性がありません。これが原因かと思われます。

    michaeljswart.com/2013/04/the-sch を参照してください。 -m-lock-is-evil .

    また、ALTER PARTITION 関数からの SCH-M デッドロックの説明と、SQL 2014 および 2016 で統計の更新を引き起こすクエリについても参照してください。ただし、2012 でも当てはまる可能性があります。 //support.microsoft.com/en-gb/help/3174476/fix-deadlock-occurs-when-you-acquire-a-sch-m-lock-and-alter-a-partitio">デッドロックを取得すると発生しますSCH-M ロック

    グラフを見ると、1 つのプロセスが sysschobjs で共有 (更新) ロックを保持しており、テーブルで SCH-S ロックを待機しています。プロセスはテーブルに SCH-M ロックを持っており、sysschobjs で X ロックを待機しています。 sysschobjs は、sysobjects の背後にあるシステム ベース テーブルです。こちらのディスカッションを参照してください Technet:デッドロックを頻繁に引き起こす SQL クエリ

    これが役立つことを願っています




    1. JOOQを使用してテーブル値のPostgresql関数から結果を取得する

    2. SQL Serverの内部:問題のあるオペレーターPt。 III –並べ替え

    3. MySQLで末尾の空白を削除する方法

    4. MySQL TIMEDIFF()とTIMESTAMPDIFF():違いは何ですか?