如何使用visual studio数据库项目生成干净的sql脚本?

时间:2017-11-13 16:24:28

标签: sql-server visual-studio-2013

我使用SQL Server Database Project创建了Visual Studio 2013。构建和Publish工作正常(项目的所有更改都在数据库上执行)但是当我选择“生成脚本”时(而不是Publish)生成.sql文件,但无法在SQL Server Management Studio中直接运行(不修改),因为以下某些行不属于SQL语言(以":"开头的那些语言):

GO
:setvar DatabaseName "Test_Project"
:setvar DefaultFilePrefix "Test_Project"
:setvar DefaultDataPath "<default path>"
:setvar DefaultLogPath "<default log path>"

GO
:on error exit
GO
/*
Detect SQLCMD mode and disable script execution if SQLCMD mode is not supported.
To re-enable the script after enabling SQLCMD mode, execute the following:
SET NOEXEC OFF; 
*/
:setvar __IsSqlCmdEnabled "True"
GO
IF N'$(__IsSqlCmdEnabled)' NOT LIKE N'True'
    BEGIN
        PRINT N'SQLCMD mode must be enabled to successfully execute this script.';
        SET NOEXEC ON;
    END


GO
USE [$(DatabaseName)];

如何生成&#34;清洁&#34;按SQL按钮时出现Generate Script文件?如果不可能,我如何将结果转换为SQL文件,该文件可由SQL Server Management Studio解释?

1 个答案:

答案 0 :(得分:0)

可以将sqlcmd脚本传递给带参数的sqlcmd.exe。在this Microsoft blog post中有一个例子。

据我所知,没有办法输出提供的参数替换的sql文件。