1

新しいシステムを本番環境に昇格させる準備をしており、SQLへの接続がタイムアウトするという問題が発生しています。

この製品は主に、.NETの機能に精通していないSQL開発者によって作成されました。私たちが見つけたのは、タイムアウトになるストアドプロシージャの複雑さが非常に高いということです。意思決定、制御フロー、計算を行うために他の10個のストアドプロシージャを呼び出すなど、多くのことが起こります。

私の直感では、これを意思決定を行う.NETエンジンにリファクタリングしてから、データとデータ品質を処理するためにSQLステートメントを簡略化する必要があります。私はその議論をするのに助けが必要です。SQL Devは、本番環境のこのシステムには10分のタイムアウトが適切であることを示しています。

.NETは、ほとんどの状況に適したデフォルトのタイムアウトを設定しています... SQL接続のタイムアウトを設定するための実際的な上限は何ですか?

4

3 に答える 3

0

あなたが話しているのはSQLConnectionタイムアウトではなく、SQLCommandタイムアウトであり、それはアプリケーションによって異なる可能性があると思います。

特に複雑なロジックを実行している場合、大きなタイムアウトを発生させることは非現実的ではありません。

于 2013-03-19T18:18:30.527 に答える
0

タイムアウトを作成する以外に他のオプションはないと思います。実際的な制限はありません。C#ですべてを書き直す時間はないと思います。唯一の問題は、システムが壊れやすいことです。接続が切断された場合は、データベースが有効な状態のままであることを確認する必要があります。

于 2013-03-19T18:14:27.700 に答える
0

まず、コードをC#に移動する前に、ストアドプロシージャとすべてのネストされたプロシージャが適切に最適化されていることを確認します。SQLプロファイラー、実行プラン、および統計はすべて、これを診断するのに役立ちます。

SQLがすでに最適である場合は、ユーザーがサイトをどのように操作するかを考える必要があります。たとえば、操作をスケジュール/キューに入れ、結果の収集が終了したときにユーザーが戻ってくることができます。

C#での書き直しは大変な作業のように思えますが、SQLが何をしているのか、そしてSQLの書き直しがどのように役立つのかを本当に理解する必要があります。

于 2013-03-19T19:05:09.497 に答える