只生成SSDT SQL脚本而不部署数据库

8

最近升级到SSDT 2012后,我似乎缺少了只生成T-SQL脚本而不是将数据库部署到某个服务器的选项。

更准确地说,SSDT的前身曾将部署操作设置为“生成脚本”,但我无法在新版本中找到该选项。

这种可能吗?

4个回答

13

若要从SSDT中的离线数据项目生成脚本而非部署到目标数据库,请按照如下所示配置项目设置:

SSDT部署配置对话框


谢谢Lynn,我已经做出了这个更改,如果在接下来的几天里它没有创建数据库,我会更改被接受的答案。 - noonand
@Lynn,图片链接已损坏,你知道我需要更改哪些设置(及其值)的名称吗? - Marcel Gosselin
@Lynn 链接没有问题,只是图片所在的网站被我们公司的防火墙屏蔽了 :-( 对此我们深感抱歉。 - Marcel Gosselin

7
您可以考虑使用SQLPackage命令行。在那里,您可以设置选项以使用“script”操作,并指定一个输出文件名来生成脚本而不是发布数据库。您还可以通过批处理文件来实现每次都生成脚本的目的。但是,您仍然需要提供源项目和目标数据库。 SQLPackage的参考文档可以在这里找到:http://msdn.microsoft.com/en-us/library/hh550080%28v=VS.103%29.aspx

很好的备选答案:使用CLI而不是GUI。 - SandRock

4

是的,这是可能的。

如果您从菜单栏中选择“构建 > 发布项目名称...”,会弹出一个对话框窗口,其中包含发布选项 - 对话框窗口底部有一个“生成脚本”按钮。


当我这样做时,它会在每个后续的构建中执行,直到我再次更改它? - noonand
2
不好意思,我恐怕每次都得这么做。 - gonsalu

0

我也遇到了一个问题,即 SSDT 项目在运行时会尝试部署更改。

在项目属性中,选择“调试”选项卡。将“启动操作”更改为“无”,这样就可以防止它在那个时候尝试部署。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接