visual-studio-2013 - 脚本架构比较两个 SSDT 项目之间的变化

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

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

“更新”按钮没有变灰。如果我想直接更新,我可以。但是我需要脚本,因为我使用这两个管理两个不在同一网络上的数据库环境(但需要与数据库架构和代码促销保持同步)。

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

我真的很想避免为了生成脚本而在本地拥有每个客户端数据库环境的数据库副本(我已经为每个客户端创建了 SSDT 项目)。

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

最佳答案

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

“如果目标是数据库或项目,您可以直接从架构比较窗口更新目标,或者如果目标是 数据库或数据库文件,您可以生成 更新脚本

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

但是,如果您可以构建/编译您的项目,这将产生 .dacpac files(又名数据库文件),您可以使用架构比较来比较和生成脚本,或者看起来 command line version of SSDT (sqlpackage.exe) 似乎支持 .dacpac 的源和目标.

希望有帮助。

关于visual-studio-2013 - 脚本架构比较两个 SSDT 项目之间的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26061235/

相关文章:

sql-server - 使用 SSDT 的数据项目,如何引用另一个数据库而不将其填充到 SS Obj Explorer 中的同一项目文件夹中

sql-server - SQL72043和其他SSDT错误: how can I find the incorrect code?

sql-server - Dacpac 升级数据库 时间有点傻

cordova - 项目包含至少一个需要系统库的插件。 ANT不支持此功能。请使用gradle构建

c++ - Windows 应用商店应用程序的扩展 SDK 在远程调试期间不起作用

c++ - Visual Studio 上的 AWS C++ SDK 链接器错误

sql-server - 使用 SSDT 部署多个数据库

asp.net - 在Visual Studio 2013中打开应用程序时,RadGrid在100%相同应用程序的不同机器上的渲染方式不同

javascript - 能否在 Visual Studio 2013 中将 javascript 作为动态语言运行?

visual-studio-2012 - Sql Schema Compare 在安装 CLR 对象后不会更新 'Source schema drift detected'