exec sp_lock
をデータベースの1つに実行すると、3000個近くのロックが存在することがわかりましたが、すべてのテーブルにアクセスして書き込むことができます。SQL Serverデータベースの3000近くのロック
私たちは、アプリケーション層でNHibernateを使用しています。これは正常ですか?
exec sp_lock
をデータベースの1つに実行すると、3000個近くのロックが存在することがわかりましたが、すべてのテーブルにアクセスして書き込むことができます。SQL Serverデータベースの3000近くのロック
私たちは、アプリケーション層でNHibernateを使用しています。これは正常ですか?
ほとんどのデータベースにはいくつかのロックがありますが、そのほとんどは気にする必要はありません。
ロックは、複数のユーザーが同じデータを同時に変更できないようにすることで、データの破損や無効なデータを防止するために使用されることがよくあります。
さまざまなタイプのロックがありますが、ほとんどの場合、ユーザーが実際にデータを更新するときにのみアクティブになる楽観的ロックが使用されます。
実際の問題は「SQLプロファイラ」を使用して追跡できる「デッドロック」に由来します。 このarticleは、SQLプロファイラを検索するよう設定することができるようです。