我陷入了SQL Server 2005的一个相当奇怪的问题,该问题会引发



(用作SP)到特定表。这项工作较早就可以了,但是会随机抛出此错误。

我已经验证了SP。我们没有在内部手动指定SET QUOTED IDENTIFIER设置,因此默认情况下必须为ON。

有人可以澄清可能是什么问题吗?

该表必须在SET QUOTED IDENTIFIER ON上创建,对吗?我还没有检查表脚本。

我已经观察到,只有在对日期列(modifiedAt)进行插入或更新的SP才会出现此问题。示例值为'2009-08-10 06:43:59:447'。

传递的值有问题吗?

最佳答案

经过长期的努力,我们得以解决此问题。我只是想分享原因。

我们的构建团队维护一个单独的内部工具来部署脚本,该工具内部触发 SQLCMD (shell)实用程序在数据库中执行T-SQL脚本。

这是罪魁祸首:默认情况下为,在SQLCMD模式下运行时QUOTED_IDENTIFIEROFF!

通过此工具运行的每个脚本都是使用QUOTED IDENTIFIER OFF创建的。我们是唯一使用索引 View 的模块。您在我以前的文章中都知道的所有其余故事:(

注意:我将投票给每个人有用的帖子。

关于sql-server - 插入记录时,SET QUOTED_IDENTIFIER应该为ON,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1137821/

10-16 06:29