在SQL Server中,是否始终激活Arithabort



我有这种怀疑已经很长时间了,无论我怎么阅读和搜索信息,我都找不到任何明确的信息。例如,本网站建议:https://blog.sqlauthority.com/2018/08/07/sql-server-setting-arithabort-on-for-all-connecting-net-applications/

我已经在SQL Server中激活了Arithabort好几次了,有时我会得到积极的结果,有时会得到消极的结果。

简而言之,是否建议始终在SQL Server中激活Arithabort?

简而言之,是否建议始终在SQL中激活Arithabort服务器

是。根据文件:

在登录会话中始终将ARITHABORT设置为ON。设置ARITHABORT关闭可能会对查询优化产生负面影响,导致性能问题。

此外,选项必须为ON才能使用计算列上的索引、索引视图、过滤索引等功能。

您不一定需要显式或使用实例范围的配置来设置ARITHABORT ON,因为现代客户端API默认设置ANSI WARNINGS ON,因此它已经为90(SQL Server 2005)或更高版本兼容模式下的数据库隐式设置。请注意,SQLServer2008是最后一个支持兼容性级别80的版本。同样来自文档:

当ANSI_WARNINGS的值为ON且数据库兼容时级别设置为90或更高,则ARITHABORT隐式开启而不管其值设置如何。如果数据库兼容级别如果设置为80或更早,则必须显式设置ARITHABORT选项至ON。

最新更新