【问题标题】:Visual Studio Database Project - Use SQLCMD variable to define File sizeVisual Studio 数据库项目 - 使用 SQLCMD 变量定义文件大小
【发布时间】:2019-03-14 19:46:08
【问题描述】:

有人知道是否可以使用 SQLCMD 变量来定义大小吗?我正在尝试这个:

ALTER DATABASE [$(DatabaseName)]
ADD FILE (
    NAME = [MyFile_1],
    FILENAME = N'$(DefaultDataPath)$(DefaultFilePrefix)_MyFile_1.ndf', 
    SIZE = $(FileSize) MB, 
    FILEGROWTH = $(FileGrowth) MB )
TO FILEGROUP [MyFileGroup];

但在尝试构建解决方案时收到以下错误:

SQL80001: Incorrect syntax near '$'.  Expecting ID, INTEGER, QUOTED_ID, STRING, or TEXT_LEX.
SQL46010: Incorrect syntax near $(FileSize).
SQL80001: Incorrect syntax near 'FileSize'. 
SQL80001: Incorrect syntax near 'FileGrowth'.  Expecting '(', or SELECT.

变量在项目配置中定义。

【问题讨论】:

    标签: sql-server visual-studio database-project


    【解决方案1】:

    对我来说效果很好。看起来您在文件名后缺少一个结束引号。也就是说,你有

    FILENAME = N'$(DefaultDataPath)$(DefaultFilePrefix)_MyFile_1.ndf, 
    

    但应该有

    FILENAME = N'$(DefaultDataPath)$(DefaultFilePrefix)_MyFile_1.ndf', 
    

    另外,您是否验证过在您的发布脚本顶部有 setvar,例如

    :setvar FileSize "1024"
    :setvar FileSize "10"
    

    祝你好运!

    【讨论】:

    • 谢谢,当我更改文件名时这是一个错字(这是一个长而无用的名称),但原始代码是可以的。我无法验证 SETVAR 的语句,因为项目没有构建,所以它没有创建发布脚本。
    猜你喜欢
    • 2019-10-01
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    • 2019-03-03
    • 1970-01-01
    • 1970-01-01
    • 2019-01-21
    • 1970-01-01
    相关资源
    最近更新 更多