SSDT在SET AUTO_CREATE_STATISTICS

时间:2016-09-21 16:21:15

标签: sql-server visual-studio-2015 sql-server-data-tools sql-server-data-project

我正在使用SSDT中的“生成脚本”功能来创建数据库脚本。但是,根据我执行脚本时的SSMS,生成的脚本会出现语法错误。带错误的代码是:

IF EXISTS (SELECT 1
       FROM   [master].[dbo].[sysdatabases]
       WHERE  [name] = N'$(DatabaseName)')
BEGIN
    ALTER DATABASE [$(DatabaseName)]
        SET AUTO_CREATE_STATISTICS ON(INCREMENTAL = OFF),
            MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT = OFF,
            DELAYED_DURABILITY = DISABLED 
        WITH ROLLBACK IMMEDIATE;
END

错误是:

  

Msg 102,Level 15,State 1,Line 208附近的语法不正确   '增加的'。消息319,级别15,状态1,行211语法不正确   靠近关键字'with'。如果此语句是公用表   表达式,xmlnamespaces子句或更改跟踪上下文   子句,前一个语句必须以分号结束。   消息102,级别15,状态1,行211语法不正确   '立刻'。

据我所知,SQL Server 2012 CTP1中不推荐使用生成的语法。

我正在使用Visual Studio版本14.0.25431.01 Update 3和SSDT版本14.0.609.18。我正在针对SQL Server 11.0.6020执行此脚本。

请注意,我能够从Visual Studio,Visual Studio中的Schema Compare发布,通过SSMS或VS中的DACPAC升级应用此模式,并且我还能够通过DacFx应用构建的DACPAC而不会出错。我只在执行原始脚本时遇到此错误。

如果我删除有问题的代码,它会按预期工作。我需要来获取一个特定案例的脚本。我只想弄清楚为什么SSDT会创建错误的语法。我希望在部署之前不需要对生成的脚本进行手动编辑的清单。

有没有人有任何想法?谢谢!

0 个答案:

没有答案