私はベンダーとコアアプリケーションを提供する取り決めで作業しており、コアアプリケーションを変更しない限り、独自の拡張機能を構築できます。SQL Server 2005データベースに接続するColdFusionに組み込まれています。
私が作成したレポートの一部は、コアテーブルから計算された関数を使用するビューに依存しており、テーブルが大きくなるとレポートが非常に遅くなります。レポートを高速化するために、インデックス付きビューを使用します。しかし、テスト環境でインデックス付きビューを作成した後、コアアプリケーションはコアテーブルに挿入できなくなりました(インデックス付きビューを使用ARITHABORT
するON
ときに必要なエラーメッセージが返されました)。
そのため、インデックス付きビューを使用SET ARITHABORT ON
するには、コアテーブルを挿入/更新するたびにコアアプリケーションが必要になるようです。テスト環境でこれを実行しました:
ALTER DATABASE MyDatabase SET ARITHABORT ON;
そして、それはうまくいくようです。しかし、私のベンダーは、アプリケーションには何千ものクエリがあるため、この設定がこれらのクエリのいずれかを破壊するリスクがある可能性があり、将来の予期しないデータベースの問題がある場合、デフォルト設定を復元すると主張します。
壊れる実際のクエリはありSET ARITHABORT ON
ますか?保管した方が良い状況はありますOFF
か?
TL; DR新しいインデックス付きビューを機能さARITHABORT ON
せるには、データベース全体を設定する必要がありますが、ベンダーは自分の責任でそれを行うと警告しています。実際にリスクはありますか?