从VSTS数据库版生成数据更改脚本

时间:2009-01-09 14:17:51

标签: database version-control deployment

我正在使用GST版本的VSTS数据库版本源控制数据库并生成部署脚本。它工作得很好,但问题是它似乎只处理脚本和部署架构。它不会处理实际数据本身的脚本和部署(即与数据库一起部署的查找和站立数据)。

我知道手动编写部署脚本很容易,但每个人都这样做了吗?是否建议使用VSTS部署引擎部署数据?是否有一些工具可以帮助解决这个问题 - 我并不是说像SQLCompare这样的完整产品,只是填补了VSTS DB的空白。

提前致谢。

Kaneda

2 个答案:

答案 0 :(得分:2)

VSTS:数据库最佳实践博客advocates using post-deployment scripts将参考数据插入临时表,然后根据增量更新目标表(即更新x内部连接温度,其中x.something<> temp.something )

周围有一些suggestions floating,这可能会成为一个powertool,至少有一个MVP有written a tool to generate those scripts

(注意:我没试过这个 - 我只是自己发现了它)

如果我有任何选择,我个人仍会坚持使用RedGate。

答案 1 :(得分:0)

GDR附带了一个数据比较引擎,但据我所知,到目前为止,数据比较甚至无法在项目中存储(更不用说由它) - 所以它非常特别。与架构比较不同,没有文件\另存为。

比较引擎可以是automated via DDE,但这是Visual Studio IDE中的自动化,并不适合某种脚本安装过程。和任何事情一样,我无法看到在比较中指定要包含哪些表(因为您通过DDE所做的所有事情都打开了向导供用户选择)

或者所有功能似乎都存在于Microsoft.VisualStudio.TeamSystem.DataPackage.dll中,但由于尚未编写API文档(GDR附带的帮助doco充满了错误)它正在运行想要从哪里开始,这是一次有点冒险的冒险。

作为使用过RedGate的SqlCompare,SqlDataCompare及其各自API的人之前做过的事情,很多GDR功能对我来说似乎有点半生不熟。

这次我可能会做的是将数据与SSIS包同步(在构建时导出为CSV /在安装时从CSV导入),但我宁愿使用SqlDataCompare API(或SqlPackager)现在。