Sql server SQL Server:插入/更新/删除失败,因为以下集合选项的设置不正确:‘;带引号的标识符’;
我有一个相当棘手的问题: 两个星期以来,每当我使用SQL脚本更新/创建存储过程之后,当这些存储过程运行时,它们都会因上述错误而失败 其他处理这个问题的帖子对我的情况没有帮助 以下是一些参数,有助于排除在我的案例中不适用的常见解决方案:Sql server SQL Server:插入/更新/删除失败,因为以下集合选项的设置不正确:‘;带引号的标识符’;,sql-server,stored-procedures,sqlcmd,quoted-identifier,Sql Server,Stored Procedures,Sqlcmd,Quoted Identifier,我有一个相当棘手的问题: 两个星期以来,每当我使用SQL脚本更新/创建存储过程之后,当这些存储过程运行时,它们都会因上述错误而失败 其他处理这个问题的帖子对我的情况没有帮助 以下是一些参数,有助于排除在我的案例中不适用的常见解决方案: 我的存储过程脚本在我的笔记本电脑上完美地工作(SQL Server 2012、Windows Server 2008 R2) 我的存储过程脚本可以在任何其他计算机上正确创建存储过程(这是我们的生成计算机,安装了SQL Server 2012;我们的测试服务器,安装
DELETE myTable,其中ID=@delID
)OFF
(!)。那么,为什么我的存储过程突然需要将此选项设置为启用SQLCMD
运行脚本。这使我可以在USE
语句中动态设置服务器实例的数据库名称USE
语句,就在ALTER过程之后
;或者,如果存在(…)删除过程。。。去;创建过程…
QUOTED_IDENTIFIER
手动设置为ON
,但我不想这样做。这里有点不对劲。我想知道那个问题是什么
这里发生了什么?SQLCMD默认情况下将QUOTED_标识符选项设置为OFF。您可以使用-I选项进行更改。SQLCMD默认情况下将QUOTED_标识符选项设置为OFF。您可以使用-I选项对其进行更改。您的存储过程现在是否正在添加索引的表上执行某些操作?我也遇到了同样的问题,这是由于计算列上有一个新的索引。是否您的存储过程现在正在添加索引的表上执行某些操作?我也遇到了同样的问题,这是由于计算列上有一个新的索引。是的,但这不是我要寻找的解决方案。它应该在不添加-I选项的情况下完美地工作。这已经奏效多年了。但突然之间,情况并非如此。我想知道这种行为的原因,我不只是想避开它。对不起,我不能说两周前你的机器突然发生了什么变化。我给了你最好的解释,任何人都不能完全访问你的机器。谢谢,迪恩,你的帮助。当然,我明白。但我认为一定有一些SS跟踪工具可用,使我能够追踪这种行为的原因。错误没有给出导致它发生的原因。我想调查将SS恢复到其原始功能状态的原因。是的,但这不是我想要的解决方案。它应该在不添加-I选项的情况下完美地工作。这已经奏效多年了。但突然之间,情况并非如此。我想知道这种行为的原因,我不只是想避开它。对不起,我不能说两周前你的机器突然发生了什么变化。我给了你最好的解释,任何人都不能完全访问你的机器。谢谢,迪恩,你的帮助。当然,我明白。但我认为一定有一些SS跟踪工具可用,使我能够追踪这种行为的原因。错误没有给出导致它发生的原因。我想调查将SS恢复到其原始运行状态的原因。我的客户不使用计算列。恐怕我们的问题不是这样的。我唯一的另一个建议是是否有一个带有索引的视图。我遇到的情况是,我们有两个应用程序在同一个数据库上运行。一个可以处理视图和/或计算列上的索引,另一个(显然使用Quoted Identifier=off)不能。我的客户不使用计算列。恐怕我们的问题不是这样的。我唯一的另一个建议是是否有一个带有索引的视图。我遇到的情况是,我们有两个应用程序在同一个数据库上运行。一个可以处理视图和/或计算列上的索引,另一个(显然使用Quoted Identifier=off)不能。