Я работаю с поставщиками по соглашению, что они предоставляют основное приложение, и я могу создавать свои собственные расширения, пока я не изменяю основное приложение. Он построен в ColdFusion для подключения к базе данных SQL Server 2005.
Некоторые из построенных мной отчетов зависят от представлений, использующих функции, вычисленные из базовых таблиц, и отчеты становятся очень медленными по мере увеличения таблиц. Чтобы ускорить отчеты, я хочу использовать индексированные представления . Но после создания индексированного представления в моей тестовой среде основное приложение больше не могло вставляться в основные таблицы (оно возвращало сообщение об ошибке, ARITHABORTкоторое требуется ONпри использовании индексированных представлений).
Таким образом, кажется, что для использования индексированных представлений мне нужно иметь основное приложение SET ARITHABORT ONпри вставке / обновлении основных таблиц. Я запустил это в моей тестовой среде:
ALTER DATABASE MyDatabase SET ARITHABORT ON;
и, кажется, работает нормально. Но мой поставщик говорит, что так как приложение имеет тысячи запросов, может быть риск того, что этот параметр может сломать один из этих запросов, и если у нас возникнет непредвиденная проблема с базой данных в будущем, они настаивают на том, чтобы я восстановил настройку по умолчанию.
Существуют ли реальные запросы, которые будут нарушены SET ARITHABORT ON? Есть ли ситуации, когда было бы лучше сохранить его OFF?
TL; DR Чтобы мои новые индексированные представления работали, мне нужно настроить ARITHABORT ONвсю базу данных, но мой поставщик предупреждает, что это будет на мой страх и риск. Есть ли на самом деле риск?