Saya bekerja dengan vendor dengan pengaturan bahwa mereka menyediakan aplikasi inti, dan saya dapat membangun ekstensi saya sendiri selama saya tidak memodifikasi aplikasi inti. Itu dibangun di ColdFusion yang menghubungkan ke database SQL Server 2005.
Beberapa laporan yang saya buat bergantung pada tampilan menggunakan fungsi yang dihitung dari tabel inti, dan laporan menjadi sangat lambat karena tabel semakin besar. Untuk mempercepat laporan, saya ingin menggunakan tampilan yang diindeks . Tetapi setelah membuat tampilan yang diindeks di lingkungan pengujian saya, aplikasi inti tidak bisa lagi memasukkan ke dalam tabel inti (itu mengembalikan pesan kesalahan yang ARITHABORT
diperlukan ON
ketika menggunakan tampilan yang diindeks).
Jadi sepertinya untuk menggunakan tampilan yang diindeks, saya harus memiliki aplikasi inti SET ARITHABORT ON
setiap kali memasukkan / memperbarui tabel inti. Saya menjalankan ini di lingkungan pengujian saya:
ALTER DATABASE MyDatabase SET ARITHABORT ON;
dan tampaknya berfungsi dengan baik. Tetapi vendor saya mengatakan karena aplikasi ini memiliki ribuan permintaan, mungkin ada risiko bahwa pengaturan ini dapat memecah salah satu dari pertanyaan ini, dan jika kita memiliki beberapa masalah basis data yang tidak terduga di masa depan, mereka akan bersikeras saya mengembalikan pengaturan default.
Apakah ada pertanyaan aktual yang akan dipecahkan SET ARITHABORT ON
? Apakah ada situasi di mana akan lebih baik untuk menyimpannya OFF
?
TL; DR Agar tampilan indeks baru saya berfungsi, saya perlu mengatur ARITHABORT ON
seluruh database, tetapi vendor saya memperingatkan itu akan menjadi risiko saya sendiri. Apakah sebenarnya ada risiko?