首页 > 解决方案 > Visual Studio 数据库项目 - 使用 SQLCMD 变量定义文件大小

问题描述

有谁知道是否可以使用 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-servervisual-studiodatabase-project

解决方案


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

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

但应该有

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

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

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

祝你好运!


推荐阅读