由于arithabort设置不正确而失败

时间:2016-02-01 20:56:29

标签: sql unique-index non-clustered-index filtered-index arithabort

我创建了一个唯一索引(如果IsDelete!= 1,则案例描述应该是唯一的)

CREATE UNIQUE NONCLUSTERED INDEX [UniqueCaseDescription]
ON [tblCases] ([fldCaseDescription] ASC) 
WHERE [IsDeleted] = CAST(0 AS varbinary(1))
WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

然后,当我运行以下过程时,它会抛出'UPDATE失败,因为以下SET选项的设置不正确:'ARITHABORT'。验证SET选项是否正确用于过滤索引。'

ALTER PROC [usp_DeleteCase] (@fldCaseID UNIQUEIDENTIFIER)
AS
BEGIN   
    UPDATE tblCases
    SET IsDeleted = 1
    WHERE fldCaseID = @fldCaseID

    RETURN 1
END

我尝试在UPDATE语句之前添加SET ARITHABORT ON,但是没有做任何事情。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

如果您使用SQL Server尝试应用以下设置:

1)打开SQL Server Management Studio。 2)右键单击您使用的数据库名称,然后选择属性>选项菜单。然后从打开的对话框中设置Arithmetic abort enabled = True。

注意:我还尝试使用脚本应用相同的设置,但通过SSMS使用此方法最好应用此设置。

希望这会有所帮助......