パーティションビューを使用しており(SQL Server 2008標準、パーティションテーブルはオプションではありません)、パーティションの削除の目標を考慮すると、正常に機能します。パーティションビューでクエリを実行し、選択した列の句を指定すると、ディスクリミネーターを使用すると、実際の実行プランから、指定されたディスクリミネーター値に関連するテーブルのみがヒットしていることがわかります。ただし、INSERTステートメントまたはUPDATEステートメントが同時に存在する場合、それらのステートメントがディスクリミネーターによって選択されたテーブルにヒットしていなくても、ロックの問題が発生します。
ロックを分析すると、実行プランで正しい1つのテーブルのみが読み取られることが示されていても、パーティションビューのすべてのテーブルにISロックが設定されていることがわかります。もちろん、他の誰かがすでにXロックを設定している場合も同様です。パーティションビューで実行されているクエリ全体の1つは、Xが付いているテーブルがまったく読み取られていなくても、そのビューでロックされます。
これは一般的なパーティションビューの制限ですか、それともパーティションビューを使い続けるときにそれを回避する方法がありますか?SQL Server Books Onlineの推奨事項に従って、パーティションビューと関連するものを作成しました。
ありがとう
ハチ