いくつかのコンテキスト:
最初に、クエリにロックのヒントを含まず、レポートを「まっすぐ」に書きました。より大きなレポートでは、これによりロックの問題が発生することがあります。で、最初の私たちは、使用してこれを是正WITH (NOLOCK)
クエリ内のテーブルのためのヒントを。
それはテーブルのいずれかのヒントを忘れることは簡単です、非常に目障りだし、(b)は()ので、私たちは第二のアプローチの設定に移動TRANSACTION ISOLATION LEVEL
しREAD UNCOMMITTED
、各データセットのクエリの先頭に(罰金です)。
ご想像のとおり、いずれかのデータセットのヒントは忘れがちです。だからこれは質問につながります:
質問:ヒントをレポートクエリと共に送信するためのオプションは何NOLOCK
ですか?
PS。これはある程度XY問題(クエリの最適化、運用データベースに関するレポートの作成など、他の多くのXオプション)であることに気付きましたが、それでもそれ自体を有効な質問にしようとしました。
オプション:
上記のオプションを以下に示します。機能するかどうかについて知りたいオプションが追加されています。
WITH (NOLOCK)
各テーブルのヒントを設定します。(目障りで、非常に忘れやすい)READ UNCOMMITTED
クエリ全体に対して分離レベルをに設定します。(まだ忘れやすい)- これをレポートレベルで指定することはできますか?たとえば、1つのレポートのすべてのデータセットクエリがロックなしで実行されるようにします。
- これを他のSSRSレベルで指定することは可能ですか?たとえば、これを特定のレポートフォルダに設定したり、拡張機能を利用したりできますか?
- これをデータソース/接続文字列レベルで指定することは可能ですか?たとえば、関連するすべてのレポートで特定の「No-lock-data-source」を使用していますか?
- 前のオプションに関連:特定の「no-lock-sql-user」(接続で使用されるもの)にデフォルトのロックヒントを指定することはおそらく可能ですか?
- ???
実行可能なオプションはどれですか?私が見逃したオプションはありますか?