架构比较 SET QUOTED_IDENTIFIER for View 与索引

Posted

技术标签:

【中文标题】架构比较 SET QUOTED_IDENTIFIER for View 与索引【英文标题】:Schema Compare SET QUOTED_IDENTIFIER for View with an Index 【发布时间】:2011-10-25 20:48:49 【问题描述】:

我正在使用带有 SQL Server 2005 数据库的 VS 2010 SP1 数据库项目。我需要创建一个视图,并在该视图上创建一个唯一的聚集索引。当 Schema Compare 生成脚本时(选中使用 SET QUOTED_IDENTIFIER 的选项),它设置 QUOTED_IDENTIFIER OFF,发出 GO,创建视图,发出 GO,设置 QUOTED_IDENTIFIER ON,发出 GO,然后创建索引。 CREATE INDEX 步骤失败:

无法创建索引。对象“myView”是在关闭以下 SET 选项的情况下创建的:“QUOTED_IDENTIFIER”。

我尝试取消选中 Schema Compare 选项,虽然生成的脚本不再将 QUOTED_IDENTIFIER 设置为打开或关闭,但 CREATE INDEX 步骤仍然失败并出现相同的错误。

数据库将 SET QUOTED_IDENTIFIER 属性设置为 false,因此我将数据库更改为 SET QUOTED_IDENTIFIER ON WITH ROLLBACK IMMEDIATE。但是,随后尝试运行生成的脚本仍然失败并出现相同的错误。

如何让 Schema Compare 生成有效的脚本?

【问题讨论】:

【参考方案1】:

哎呀,我要在这里挖掘一个旧的,但是,我相信这是因为你必须在对象级别设置引用标识符。此外,如果您正在处理计算列或索引视图,则必须打开它。

【讨论】:

以上是关于架构比较 SET QUOTED_IDENTIFIER for View 与索引的主要内容,如果未能解决你的问题,请参考以下文章

Java 集合系列15之 Set架构

C++如何通过比较set里的指针的内容来比较set

sql 定义默认架构(SET SCHEMA)

架构师数据结构技术Day03-集合之Set

架构师数据结构技术Day03-集合之Set

事务复制不复制 SET QUOTED_IDENTIFIER