У меня было это сомнение в течение долгого времени, и сколько бы я ни читал и не искал информацию, я не могу найти ничего ясного. Например, этот веб-сайт рекомендует: https://blog.sqlauthority.com/2018/08/07/sql-server-setting-arithabort-on-for-all-connecting-net-applications/
Я несколько раз активировал Arithabort в SQL Server, и иногда у меня были положительные, а иногда и отрицательные результаты.
Короче говоря, рекомендуется ли всегда активировать Arithabort в SQL Server?
Короче говоря, рекомендуется ли всегда активировать Arithabort в SQL? Сервер?
Да. Согласно документации:
Всегда устанавливайте для ARITHABORT значение ON во время сеансов входа в систему. Настройка АРИТАБОРТА значение OFF может негативно повлиять на оптимизацию запросов, что приведет к проблемы с производительностью.
Кроме того, этот параметр должен быть включен, чтобы использовать такие функции, как индексы для вычисляемых столбцов, индексированные представления, отфильтрованные индексы и т. д.
Вам не обязательно устанавливать ARITHABORT ON
явно или с конфигурацией для всего экземпляра, потому что современные клиентские API устанавливают ANSI WARNINGS ON
по умолчанию, поэтому он уже будет неявно установлен для баз данных в режиме совместимости 90 (SQL Server 2005) или более поздней версии. Обратите внимание, что SQL Server 2008 был последней версией, поддерживающей уровень совместимости 80. Также из документа:
Когда ANSI_WARNINGS имеет значение ON и совместимость с базой данных уровень установлен на 90 или выше, тогда ARITHABORT неявно включен независимо от установки его значения. Если уровень совместимости базы данных установлен на 80 или ранее, параметр ARITHABORT должен быть установлен явно на ВКЛ.
Как раз тот ответ, которого я ожидал. Спасибо!