絶えず更新される多くの行を持つ大きなSQLServer2008R2データベースがあります。更新は、ストアドプロシージャを呼び出すバックエンドサービスアプリケーションによって実行されます。これらのストアドプロシージャの1つには、データを再計算および更新するSQLカーソルがあります。これはすべて正常に実行されます。
ただし、フロントエンドWebアプリケーションはこれらの行を検索する必要があり、この検索の結果、
ロック要求のタイムアウト期間を超えました。Telerik.OpenAccess.RT.Adonet2Generic.Impl.PreparedStatementImp.executeQuery()で。
調査を行った結果、このクエリを問題なく実行するための最良の方法は、「コミットされていない分離レベルの読み取り」で実行することであることがわかりました。この設定はTelerikOpenAccess設定で行うことができますが、これはデータベースORMプロジェクト全体に影響する設定です。それは私が望むものではありません!このレベルは、このクエリにのみ必要です。
この特定のLINQクエリをこのコミットされていない分離レベルで実行する方法はありますか?または、WITH NOLOCKヒントを使用するためにこの1つのクエリを作成できますか?