Estou trabalhando com um fornecedor com o acordo de que eles fornecem o aplicativo principal e posso criar minhas próprias extensões desde que não modifique o aplicativo principal. Ele é integrado ao ColdFusion, conectando-se a um banco de dados do SQL Server 2005.
Alguns dos relatórios que eu construí dependem das visualizações usando funções calculadas a partir das tabelas principais, e os relatórios estão ficando muito lentos à medida que as tabelas aumentam. Para acelerar os relatórios, desejo usar visualizações indexadas . Mas, depois de criar uma exibição indexada em meu ambiente de teste, o aplicativo principal não pôde mais ser inserido nas tabelas principais (ele retornou uma mensagem de erro que ARITHABORT
é necessária ao ON
usar as exibições indexadas).
Portanto, parece que, para usar visualizações indexadas, preciso ter o aplicativo principal SET ARITHABORT ON
sempre que inserir / atualizar as tabelas principais. Eu executei isso no meu ambiente de teste:
ALTER DATABASE MyDatabase SET ARITHABORT ON;
e parece funcionar bem. Mas meu fornecedor diz que, como o aplicativo tem milhares de consultas, pode haver um risco de que essa configuração possa interromper uma dessas consultas e, se tivermos algum problema inesperado no banco de dados, eles insistirão em que eu restaure a configuração padrão.
Existem consultas reais que seriam quebradas SET ARITHABORT ON
? Existe alguma situação em que seria melhor mantê-lo OFF
?
TL; DR Para que minhas novas exibições indexadas funcionem, preciso definir ARITHABORT ON
o banco de dados inteiro, mas meu fornecedor avisa que será por minha conta e risco. Existe realmente um risco?