Ich arbeite mit einem Anbieter zusammen, der dafür sorgt, dass er die Kernanwendung bereitstellt, und ich kann meine eigenen Erweiterungen erstellen, solange ich die Kernanwendung nicht ändere. Es ist in ColdFusion integriert und stellt eine Verbindung zu einer SQL Server 2005-Datenbank her.
Einige der Berichte, die ich erstellt habe, hängen von Ansichten ab, die Funktionen verwenden, die aus den Kerntabellen berechnet wurden, und die Berichte werden sehr langsam, wenn die Tabellen größer werden. Um die Berichte zu beschleunigen, möchte ich indizierte Ansichten verwenden . Nach dem Erstellen einer indizierten Ansicht in meiner Testumgebung konnte die Kernanwendung jedoch nicht mehr in die Kerntabellen eingefügt werden (es wurde eine ARITHABORT
erforderliche Fehlermeldung zurückgegeben)ON
wenn indizierte Ansichten verwendet werden).
Um indizierte Sichten verwenden zu können, muss die Kernanwendung beim SET ARITHABORT ON
Einfügen / Aktualisieren der Kerntabellen vorhanden sein. Ich habe dies in meiner Testumgebung ausgeführt:
ALTER DATABASE MyDatabase SET ARITHABORT ON;
und es scheint gut zu funktionieren. Da die Anwendung jedoch Tausende von Abfragen enthält, besteht das Risiko, dass durch diese Einstellung eine dieser Abfragen beschädigt wird. Wenn es in Zukunft zu unerwarteten Datenbankproblemen kommt, besteht die Gefahr, dass ich die Standardeinstellung wieder herstelle.
Gibt es tatsächliche Abfragen, die durch gebrochen werden würden SET ARITHABORT ON
? Gibt es eine Situation, in der es besser wäre, sie zu behalten OFF
?
TL; DR Damit meine neuen indizierten Ansichten funktionieren, muss ich ARITHABORT ON
für die gesamte Datenbank festlegen , aber mein Anbieter warnt, dass dies auf eigenes Risiko erfolgt. Besteht tatsächlich ein Risiko?