私が維持しているVB6(ADO/ODBC to SQL Server)アプリケーションで突然パフォーマンス低下の問題が発生しました。これはSET ARITHABORT ONいくつかのSELECTクエリの前に。アプリケーション内のすべてのSELECTクエリでARITHABORTをONに設定する必要がありますか?
質問は次のとおりです。アプリケーションの選択クエリごとにARITHABORTをオンにする汎用プロシージャを作成することをお勧めしますか?それを行う上での危険は何ですか?この設定により、SELECTクエリはユーザー/開発者に気づかずに無効なデータ(特に集計関数を含む場合)を返す可能性がありますか?
更新:このアプリケーションは、マージレプリケーションが有効になっているSQL Server 2014サーバーで実行されます。
はい、アプリケーションのデフォルトはオフです。これは、最近までアプリケーションに深刻な影響を与えていないようです。あなたが提供したリンクは重要な情報を持っていますが、私の質問には答えません。そのような変更がアプリケーションで意図しない結果を引き起こす可能性はありますか(特に複製が関係しているため) – FaultyOverflow
私は複製がこの問題の要因であるとは思わない。アプリケーションの構築方法によって異なります。どのような妥当性チェックがソフトウェア内にあるか、どのような応答が期待されるか。私はいくつかのアプリケーションエラーが予想されます。私は間違った結果を期待しませんが、可能です。 – HoneyBadger