sqlpackage.exe - 如何排除同义词>

时间:2015-03-30 01:40:40

标签: sqlpackage

我正在运行sqlpackage.exe作为自动部署脚本创建过程的公园,但是我们在数据库中有同义词,这些同义词因环境而异(Dev / Test / Live)。问题是数据库项目具有Dev环境中的同义词,但是当我运行sqlpackage与Test或Live进行比较时,同义词是不同的,因此它们被编写为删除并重新添加到指向Dev的脚本

我在http://blogs.msdn.com/b/ssdt/archive/2015/02/23/new-advanced-publish-options-to-specify-object-types-to-exclude-or-not-drop.aspx看到显然有一个新参数“ExcludeObjectType”,但是当我尝试使用该参数运行它时,它给出了一个错误'ExcludeObjectType'不是'Script'的有效参数动作(我有最新版本的sqlpackage.exe)。

关于我在这里可以做什么的任何想法?

2 个答案:

答案 0 :(得分:3)

为Visual Studio下载最新的SSDT后,我仍然遇到同样的问题。接下来,我下载了Data-Tier Application Framework (May 2015)并使用了C:\Program Files\Microsoft SQL Server\120\DAC\bin\sqlpackage.exe处安装的新SqlPackage,错误消失并按预期工作。

答案 1 :(得分:-1)

先生,谢谢你!当我在VS中创建部署脚本时,没有检测到更改,但是当我尝试使用sqlpackage进行部署时,我收到了错误: *对象[x]已存在于具有不同定义的数据库中,不会被更改。 添加ExcludeObjectTypes开关后,我收到以下错误: * 'ExcludeObjectTypes'不是“发布”操作的有效参数。 但是在下载并安装最新的Data-Tier App框架之后,所有工作都按预期工作,没有错误。