Temel uygulamayı sağladıkları düzenleme ile bir satıcıyla çalışıyorum ve çekirdek uygulamayı değiştirmediğim sürece kendi uzantılarımı oluşturabilirim. Bir SQL Server 2005 veritabanına bağlanan ColdFusion yerleşiktir.
Oluşturduğum bazı raporlar, çekirdek tablolardan hesaplanan işlevleri kullanan görünümlere bağlıdır ve tablolar büyüdükçe raporlar yavaşlamaktadır. Raporları hızlandırmak için dizinlenmiş görünümler kullanmak istiyorum . Ancak test ortamımda dizinlenmiş bir görünüm oluşturduktan sonra, çekirdek uygulama artık çekirdek tablolara eklenemedi ( dizinlenmiş görünümler kullanılırken ARITHABORT
olması gereken bir hata iletisi döndürdü ON
).
Dizinli görünümleri kullanmak için SET ARITHABORT ON
, çekirdek tabloları eklerken / güncelleştirirken çekirdek uygulamasına sahip olmam gerekiyor gibi görünüyor . Bunu test ortamımda çalıştırdım:
ALTER DATABASE MyDatabase SET ARITHABORT ON;
ve iyi çalışıyor gibi görünüyor. Ancak tedarikçim, uygulamada binlerce sorgu bulunduğundan, bu ayarın bu sorgulardan birini kırma riski olabileceğini ve gelecekteki beklenmedik veritabanı sorunumuz varsa varsayılan ayarı geri yüklemem konusunda ısrar edeceğini söylüyor.
Kırılması gereken gerçek sorgular var SET ARITHABORT ON
mı? Tutmanın daha iyi olacağı bir durum var mı OFF
?
TL; DR Yeni dizinlenmiş görünümlerimin çalışması ARITHABORT ON
için tüm veritabanı için ayarlamam gerekiyor , ancak satıcım bunun kendi sorumluluğumda olacağı konusunda uyarıyor. Aslında bir risk var mı?