0

我正在尝试使用 VSDBCMD.exe(Visual Studio 2010 版本)来部署数据库项目的输出。我在命令行中包含 /dd:+ 开关。每次运行命令时,我都会收到一条消息:

TSD00566        Deployment script generated to:
C:\Deploy\SqlServerDB.txt

没有错误,但没有执行部署脚本,也没有发生部署。我没有 /Quiet打开开关。

我已经尝试在命令行上指定所有参数并使用该.deploymentmanifest文件。无论哪种方式,我都会得到相同的结果:生成了一个脚本文件,但没有执行。未部署架构更改。

我知道我的连接字符串是正确的,因为生成的部署脚本是有效的(甚至引用了只存在于目标 SQL 服务器上的文件路径)。

我当前的命令行(如最近的尝试)是

vsdbcmd.exe 
    /a:Deploy 
    /cs:"Data Source=[the correct server];Integrated Security=True;Pooling=False;Initial Catalog=[the correct database]" 
    /Quiet- 
    /dd:+ 
    /p:TargetDatabase="[the correct database]" 
    /dsp:Sql 
    /Model:"C:\[output path]\SqlServerDB.dbschema"

你能帮我弄清楚如何解决这个命令,因为我没有收到任何错误消息或有用的输出吗?

4

1 回答 1

0

当 VSDBCMD 生成 delta 脚本并检测到数据库项目和目标数据库之间没有更改时,它不会执行部署步骤。

但是,它也不会显示任何消息来说明为什么它没有部署。因此,没有错误(因此没有错误消息)但它没有部署,因为在我们第一次运行命令后源脚本与目标数据库相同。

有某种消息表明“无需更改部署”会很好,但至少我现在知道它正在按设计工作,并且没有必要进行部署。

于 2012-03-19T20:06:48.110 回答