複数のDBサーバーがあります。いずれかのサーバーには、代理店が使用する予定のDBサーバー名とデータベース名についての指示を保持するマスター構成表があります。SQL接続の断片化、DBへの接続方法が異なります
現在、各データベースには、常に(私たちが固定されている)、彼らが使用されていない場合でも、それらの上に2つの接続があります。しかし、私たちは接続を完全にはしないようにする方法を見つけようとしており、DBサーバーへのストレスを軽減しています。
研究の多くは、我々は中央の場所にすべての接続を行うために言って、いくつかの記事を見つけ、その後、我々はSQLConnectionオブジェクトを通じて使用しているどのデータベースに変更した後。ちょっと回り道に見えますが、うまくいくかもしれません。
だから私は他の人がこのような状況で何をしているのだろうか?
このため、現在のパスは次のとおりです。 - システムアクセスConfigTableで
- ユーザログのユーザーが接続しようとしているデータベースを見つけるために。 - エージェントの接続設定をそのユーザーのメモリ(SEssion)にロードします。 - すべてのリクエストが、そのユーザーデータベースに直接ヒットするようになりました。
これを行うより効率的な方法はありますか?
は、我々のアプリは、.NET 2.0であり、これは私たちが現在使用しているものと同様です。あまりにも非効率的であることが証明されています。 –
@Ryan Ternier:「それはあまりにも非効率的であることを証明しています」 - あなたは上の中央のDBへの接続を言っているので...より具体的に – Andomar
@Ryan Ternierと少数のサーバのために編集した回答各サーバー(マスタまたは他のランディングポイントのような)は、接続の「データベースを変更する」ことをあなたが望むものにしますか?それはMSDNのページで調査されたものをバックアップします。初期カタログを使用せず、CSにDB名を持つ場合はどうなりますか?それはそれを別々にキャッシュさせるでしょうか? –