Tsql Sql Server数据库架构比较中禁用了“更新目标”按钮

Tsql Sql Server数据库架构比较中禁用了“更新目标”按钮,tsql,deployment,visual-studio-2013,sql-server-2012,database-schema,Tsql,Deployment,Visual Studio 2013,Sql Server 2012,Database Schema,我将Visual Studio 2013 Professional Update 4与多个SQL Server 2012企业服务器/实例结合使用。其想法是使用VisualStudio解决方案和SQL Server项目创建版本控制的部署 但是由于某些原因,“更新目标”和“生成脚本”按钮被禁用 我可以从sql server数据库更新本地数据库项目,但另一种方法不起作用。(见截图) 虽然我发现一些人也有类似的问题,但谷歌一点帮助都没有 但这些问题/博客帖子都不是关于VisualStudio20

我将Visual Studio 2013 Professional Update 4与多个SQL Server 2012企业服务器/实例结合使用。其想法是使用VisualStudio解决方案和SQL Server项目创建版本控制的部署

但是由于某些原因,“更新目标”和“生成脚本”按钮被禁用

我可以从sql server数据库更新本地数据库项目,但另一种方法不起作用。(见截图)

虽然我发现一些人也有类似的问题,但谷歌一点帮助都没有

但这些问题/博客帖子都不是关于VisualStudio2013的,此外,建议的解决方案也没有一个适合我

问题:为什么“更新目标”按钮被禁用,我需要更改什么才能解决此问题


注意:当然,我正在使用最新版本的SQL Server数据工具(12.0.50318.0)

这也让我抓狂。我最后注意到一条“警告”消息,指出“由于内部错误,无法生成部署计划”。因此,“更新”和“生成脚本”按钮都被禁用


我通过关闭Visual Studio、导航到包含数据库项目的文件夹并删除所有(*.dbmdl)文件来解决此问题。然后我重新启动Visual Studio,重新运行比较架构,并启用了更新按钮。

帮助我的技巧是查看错误列表。(查看菜单,错误列表)。清除错误后(只有错误,红色X的错误),我可以再次比较架构,并且更新和生成脚本按钮都已启用。

在生成脚本旁边,单击选项并仅选择要比较的对象。
只有这个对我有效。

你提供的第一个链接实际上解决了我的问题。检查错误列表窗口以查看是否存在任何错误。在我的例子中,我的列名无效。我有很多错误,主要是由于未解析/不明确的引用。然而,我认为VisualStudioSchema比较不应该为此而烦恼。我创建的与UserVoice建议的可能重复。如果你同意,请投票。我也有这个“警告”,并尝试了这个解决方案,没有乐趣。在外部数据源/表上也有错误,排除它们并没有帮助,但是:在没有外部数据的情况下进行模式比较最终是可行的。我通过创建一个(临时的)新项目来完成这项工作,比较并更新了排除外部的项目,然后将新项目与数据库进行模式比较。