В SQL Server всегда активировать Arithabort, рекомендуется?

У меня было это сомнение в течение долгого времени, и сколько бы я ни читал и не искал информацию, я не могу найти ничего ясного. Например, этот веб-сайт рекомендует: https://blog.sqlauthority.com/2018/08/07/sql-server-setting-arithabort-on-for-all-connecting-net-applications/

Я несколько раз активировал Arithabort в SQL Server, и иногда у меня были положительные, а иногда и отрицательные результаты.

Короче говоря, рекомендуется ли всегда активировать Arithabort в SQL Server?

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
0
89
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Короче говоря, рекомендуется ли всегда активировать 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 должен быть установлен явно на ВКЛ.

Как раз тот ответ, которого я ожидал. Спасибо!

supercrash10 24.11.2022 15:39

Другие вопросы по теме