Sto lavorando con un fornitore con l'accordo che forniscono l'applicazione principale e posso creare le mie estensioni purché non modifichi l'applicazione principale. È incorporato in ColdFusion che si collega a un database SQL Server 2005.
Alcuni dei report che ho creato dipendono dalle visualizzazioni utilizzando le funzioni calcolate dalle tabelle principali e i report stanno diventando molto lenti man mano che le tabelle diventano più grandi. Per accelerare i rapporti, voglio utilizzare le viste indicizzate . Ma dopo aver creato una vista indicizzata nel mio ambiente di test, l'applicazione principale non è più riuscita a inserirla nelle tabelle principali (ha restituito un messaggio di errore che ARITHABORT
deve essere ON
quando si utilizzano le viste indicizzate).
Così sembra che per poter utilizzare viste indicizzate, ho bisogno di avere l'applicazione principale SET ARITHABORT ON
prima di inserire / aggiornamento delle tabelle di base. Ho eseguito questo nel mio ambiente di test:
ALTER DATABASE MyDatabase SET ARITHABORT ON;
e sembra funzionare bene. Ma il mio fornitore dice che poiché l'applicazione ha migliaia di query, potrebbe esserci il rischio che questa impostazione possa interrompere una di queste query e, se avremo qualche futuro problema imprevisto del database, insisterebbero sul ripristino dell'impostazione predefinita.
Ci sono domande effettive che verrebbero interrotte SET ARITHABORT ON
? C'è qualche situazione in cui sarebbe meglio tenerlo OFF
?
TL; DR Perché le mie nuove visualizzazioni indicizzate funzionino, devo impostare ARITHABORT ON
l'intero database, ma il mio fornitore avverte che sarà a mio rischio e pericolo. Esiste effettivamente un rischio?