从SQL Server数据库项目生成可执行的SQL脚本

时间:2016-02-16 01:09:34

标签: .net database deployment sql-server-2012 dacpac

我有一个可以将模式部署到数据库的SQL Server数据库项目,它创建了一个.dacpac并将其应用到数据库。

我想使用在自动化测试类中生成的SQL文件,该类将为空数据库创建所有表和对象。

我无法使用生成的SQL文件,因为它包含无法识别的命令,如

:setvar DatabaseName "MyDB"
:setvar DefaultFilePrefix "MyDB"

如何从SQL Server数据库项目部署生成可执行的SQL脚本?

1 个答案:

答案 0 :(得分:1)

感谢xLiSPirit和this SO post,我最终使用了DacServices class和这段代码:

    private void UpgradeDatabaseWithDacpac(string connectionString, string databaseName, string dacpacFileName)
    {
        DacPackage dacPackage = DacPackage.Load(dacpacFileName);
        DacServices dacServices = new DacServices(connectionString);
        dacServices.Deploy(dacPackage, databaseName, true);
    }