模式比较具有索引的视图的SET QUOTED_IDENTIFIER

时间:2011-10-25 20:48:50

标签: visual-studio-2010 sql-server-2005 view indexing

我正在使用带有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 个答案:

答案 0 :(得分:0)

Yikes,我将在这里挖掘一个旧的,但是,我相信这是因为您必须在对象级别设置Quoted Identifier。此外,如果要处理计算列或索引视图,则必须启用它。