脚本架构比较两个SSDT项目之间的更改

时间:2014-09-26 13:51:31

标签: visual-studio-2013 sql-server-data-tools

我想编写两个SSDT项目之间的模式比较所产生的更改,但是"生成脚本"当源和目标都是SSDT项目时,按钮变灰/禁用。

"更新"按钮不是灰色的。如果我想直接更新,我可以。但是我需要脚本,因为我使用这两个管理两个不在同一网络上的数据库环境(但需要与db模式和代码促销同步)。

另外,只是为了验证和强化,如果我的目标是真实数据库而不是项目,我可以生成脚本。它只有当目标是一个我无法生成脚本的项目时。不幸的是我无法直接连接到目标数据库。

我真的希望避免在本地为我的每个客户端数据库环境创建一个数据库副本,只是为了生成脚本(我已经为每个客户端安装了SSDT项目)。

这是故意限制吗?看起来很奇怪。我不能成为第一个必须管理我无法从我的开发机器直接连接的客户架构的人。

1 个答案:

答案 0 :(得分:5)

根据Microsoft's page on Schema Compare(强调补充):

&#34;如果目标是数据库或项目,您可以直接从Schema Compare窗口更新目标,或者如果目标是,您可以生成更新脚本<​​/ strong>数据库或数据库文件。&#34;

您描述的行为似乎是功能的工作方式。

但是,如果您可以构建/编译项目,那么将生成.dacpac files(也称为数据库文件),您可以使用模式比较来比较和生成脚本,或者显示{{3} }似乎支持.dacpac的源和目标。

希望有所帮助。