我创建了一个具有默认设置的存储过程,例如:
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
Create PROCEDURE [dbo].[TestSP]
AS
BEGIN
set arithabort off
set arithignore on
--.....
END
没事。然后我在一个表上为 DB 中的非空值创建了一个过滤的唯一索引,然后我不能再在 SQL Server Management Studio 中运行任何存储过程。我得到的错误是这样的:
DELETE(或 INSERT)失败,因为以下 SET 选项的设置不正确:'ANSI_NULLS,QUOTED_IDENTIFIER'。验证 SET 选项对于索引视图和/或计算列上的索引和/或过滤索引和/或查询通知和/或 XML 数据类型方法和/或空间索引操作是否正确。
我尝试运行存储过程,例如:
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
EXEC TestSP
或者
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
EXEC TestSP
我仍然得到上述错误。我很困惑。如何解决这个问题?