delete失败,因为下列 SET 选项的设置不正确: ‘ARITHABORT’


摘要:
今天在使用delete操作数据表时,出现以下错误信息 ,set 选项设置不正确,请set相关选项后,再进行相关操作



场景描述:
当你在SQL Server上试图更新一个索引视图引用的表时,
系统输出以下错误信息:
INSERT 失败,因为下列 SET 选项的设置不正确: ‘ARITHABORT’
在计算列或索引视图上创建或操作索引时,SET ANSI_NULLS 也必须为 ON。
如果 SET ANSI_NULLS 为 OFF,计算列或索引视图上带索引的表上的 CREATE、UPDATE、INSERT 和 DELETE 语句将失败。

解决方法:
1.如果是SSMS管理器中,查询分析器中执行相关代码,在执行代码前加入
set ARITHABORT ON
go
/*sql脚本*/
2.如果是c#调用相关代码,在发送sql脚本至服务器时,先放入set arithabort on
conn.Execute(“set arithabort on /*sql 脚本*/ “);
3.也可以对数据库相关信息进行设置
exec sp_dboption ‘数据库名称’,’ARITHABORT’,’true’