Visual Studio 数据库项目 - 使用 SQLCMD 变量定义文件大小
Posted
技术标签:
【中文标题】Visual Studio 数据库项目 - 使用 SQLCMD 变量定义文件大小【英文标题】:Visual Studio Database Project - Use SQLCMD variable to define File size 【发布时间】: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.
变量在项目配置中定义。
【问题讨论】:
【参考方案1】:对我来说效果很好。看起来您在文件名后缺少一个结束引号。也就是说,你有
FILENAME = N'$(DefaultDataPath)$(DefaultFilePrefix)_MyFile_1.ndf,
但应该有
FILENAME = N'$(DefaultDataPath)$(DefaultFilePrefix)_MyFile_1.ndf',
另外,您是否验证过在您的发布脚本顶部有 setvar,例如
:setvar FileSize "1024"
:setvar FileSize "10"
祝你好运!
【讨论】:
谢谢,当我更改文件名时这是一个错字(这是一个长而无用的名称),但原始代码是可以的。我无法验证 SETVAR 的语句,因为项目没有构建,所以它没有创建发布脚本。以上是关于Visual Studio 数据库项目 - 使用 SQLCMD 变量定义文件大小的主要内容,如果未能解决你的问题,请参考以下文章
使用Visual Studio2013打开Visual Studio2015项目
使用 Visual Studio 数据库项目的 PostDeployment 脚本插入图像
Visual Studio数据库项目使用链接服务器数据库引用
Visual Studio 数据库项目 - 使用 SQLCMD 变量定义文件大小