加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – SQL Server – 由于’ARITHABORT’而INSERT失败

发布时间:2020-12-12 06:53:22 所属栏目:MsSql教程 来源:网络整理
导读:我使用NHibernate和SQL Server 2005,并且在我的一个表中的计算列上有一个索引. 我的问题是,当我向该表插入记录时,我收到以下错误: INSERT failed because the following SET options have incorrect settings: ‘ARITHABORT’ 我使用SET ARITHABORT ON;在我
我使用NHibernate和SQL Server 2005,并且在我的一个表中的计算列上有一个索引.

我的问题是,当我向该表插入记录时,我收到以下错误:

INSERT failed because the following SET options have incorrect settings: ‘ARITHABORT’

我使用SET ARITHABORT ON;在我插入之前但仍然有此错误.

解决方法

我今天遇到了这个问题并得到了解决.

我在sql server 2008 r2中的列上创建了一个过滤索引,但在插入时会出现此错误.

我看到这个问题没有得到完全回答,因为在每个插入中总是设置ARITHABORT ON可能会很乏味.

我发现一个博客显示数据库兼容级别是问题所在.我将兼容级别从80(2000)更改为100(2008),问题解决了.不确定将兼容级别更改为90是否可以解决此问题,但值得一试.

SQL Server兼容级别和命令在此处更改. http://msdn.microsoft.com/en-us/library/bb510680.aspx

如果这不起作用或者您无法更改兼容模式,则可以通过在我在此处讨论的博客中添加触发器来实现另一种解决方法http://chrismay.org/2013/05/23/interesting-problem-with-sql-server-arithabort-filtered-indexes-calculated-columns-and-compatibility-mode-of-80/

请注意,此更改是在测试数据库上完成的,所有应用程序都应在生产中进行此类更改之前进行测试.在更改之前,请确保您的DBA没问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读