架构比较后禁用更新目标按钮

时间:2013-07-19 09:29:39

标签: visual-studio-2012 database-project sql-server-2012-datatools

我使用VS 2012创建了数据库项目。完成架构比较后,应启用更新目标按钮以与目标同步。

但它没有启用。任何帮助PLZ。

我正在使用VS 2012和sp 3,SQL Server 2012,

enter image description here

11 个答案:

答案 0 :(得分:56)

检查错误列表如果您有任何错误,我在VS中有一个无法识别的单词(但在SQL Server中有这个单词),我对其进行了评论,重新进行了比较并且已成功启用。

答案 1 :(得分:8)

看看你是否有"警告"消息说明"由于内部错误而无法生成部署计划"。如果是这样,将禁用“更新”和“生成脚本”按钮。

关闭Visual Studio,导航到包含Database项目的文件夹,然后删除所有(* .dbmdl)文件。然后重新启动Visual Studio,重新运行比较模式,此时应启用“更新”按钮。

答案 2 :(得分:2)

您的数据库项目似乎没有默认值的sqlcmd变量。

请参阅: http://www.andrewburrow.net/vs2012-schema-compare-buttons-disabled/

希望这有帮助。

答案 3 :(得分:2)

解决方法:

就我而言。修复错误不是优先级任务。此外,我无法在错误列表中找到任何错误。

只是您不必在源或目标中使用“Visual Studio数据库项目”。不使用项目,而是使用已经使用的脚本创建临时数据库。

在源中选择此(或这些)临时数据库,在目标中选择(或)其他。

按钮必须启用。

对我来说,获得差异远比解决问题重要得多。希望它能帮到你。随着一些更即兴。

答案 4 :(得分:0)

每次打开“架构比较”中的“选项”时,必须再次单击“比较”按钮以激活“更新”按钮。但是,如果它在第一次不起作用,只需关闭并重新打开Schema比较文件。

答案 5 :(得分:0)

对我来说,错误列表中没有可见的错误。这是因为我有'#34;显示问题生成"下拉设置为" Build Only&#34 ;;将其更改为" Build + IntelliSense"允许我查看需要修复的SQL错误以启用“生成脚本和更新”按钮。

答案 6 :(得分:0)

在SSDT中我遇到了启用更新按钮但未启用生成脚本的情况。这是因为我的目标架构是我的本地解决方案(* .sqlproj vs project)。

我花了几分钟才知道目的地需要成为真正的数据库才能正确生成脚本。

答案 7 :(得分:0)

毕竟,当您有可用的更新目标按钮和禁用的生成脚本按钮时。

查看您的来源是否是数据库,目标是否是SSDT项目。

如果是这样,请单击“切换源和目标”按钮。

生成脚本按钮将变为可用。
即在Schema Compare窗口中,SSDT项目必须是源,数据库必须是目标。

答案 8 :(得分:0)

我在“错误列表”中看不到任何错误,但在“输出”标签中却看到了错误

enter image description here

答案 9 :(得分:0)

解决方法2:

在我的情况下,“更新”按钮显示为灰色,因为关于我之前创建并添加到项目的视图存在错误警告。 问题在于,该视图已编写脚本以使用完整的数据库限定对象命名。例如。 [数据库名称]。[模式名称]。[对象名称] ,在SSMS中可以正常工作,但是在DB Project中检查它时会导致问题。 如果您使用三部分命名来引用同一数据库项目中的对象,则会导致Visual Studio中出现错误/警告。

通过将代码更改为[schemaname]。在视图的定义中,[objectname]删除了错误警告并启用了Update选项。快乐的时光!

积分: https://visualstudio.uservoice.com/forums/121579-visual-studio-ide/suggestions/3577074-allow-three-part-naming-for-referring-a-db-object

https://visualstudio.uservoice.com/forums/121579-visual-studio-ide/suggestions/17396128-keep-update-and-generate-update-script-buttons

答案 10 :(得分:0)

通常,当数据库对象在数据库项目内部的单独sql文件中可用但数据库项目本身不包含数据库对象时,更新按钮将显示为灰色。我只是将这些sql脚本添加到项目中,并且在比较架构之后启用了更新按钮。