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