【问题标题】:Generate Script button is disabled in visual studio after schema comparison架构比较后,Visual Studio 中的“生成脚本”按钮被禁用
【发布时间】:2017-10-23 11:52:25
【问题描述】:

我想从数据库和我的数据库项目中创建一个增量脚本。数据库作为源,数据库项目作为目标。 Update 按钮工作正常,没有任何错误,我的错误列表仅包含此警告:

源的登录名没有 VIEW ANY DEFINITION 权限。如果目标是数据库,则比较将仅限于数据库范围的元素。

此权限:https://technet.microsoft.com/en-us/library/ms175808(v=sql.105).aspx

Update target button is disabled after schema comparison 的帖子对我没有帮助。

如何在 Visual Studio Enterprise 2017 中激活 generate Script 按钮? 我真的需要访问元数据来生成脚本吗?

(编辑):

即使有此权限,它也不起作用。但是我可以在比较两个数据库时生成一个脚本。

【问题讨论】:

  • 我在这里遇到了同样的问题。对我来说,这是一个小的 SQL 错误,隐藏在我的数据库项目的存储过程中。显然,如果您在数据库项目中出现错误,“生成脚本”按钮将被禁用,即使它们与您尝试编写脚本的更改无关。
  • 这个工具有很大的潜力,但很难使用。我的项目中有错误,我正在尝试通过将固定的数据库项目应用于数据库来修复它们....不可能!我必须尝试猜测正确的数据库更改,在数据库和架构中更改它并与项目进行比较,并希望它能修复它。

标签: visual-studio-2017 database-project schema-compare


【解决方案1】:

如果您的目标是数据库项目,则“生成脚本”按钮将被禁用。要生成脚本,您可以直接与目标数据库而不是数据库项目进行比较。

【讨论】:

  • 我确认这是可行的,但是通过这样做,当您从项目与数据库进行比较时,脚本与您需要的脚本完全不同。我不完全理解为什么只为 PROJECT to DATABASE 而不是 DATABASE to PROJECT 启用 GENERATE SCRIPT 按钮
【解决方案2】:

确保在比较数据库架构之前重建解决方案。在 Visual Studio 中执行此操作:

  • 转到解决方案资源管理器
  • 右键单击解决方案的根级别
  • 点击重建解决方案

Rebuild solution

现在尝试比较数据库模式。您应该能够看到生成脚本选项现已启用。

【讨论】:

  • 没有。我刚刚尝试使用 Visual Studio 2015 Update 3。我建议您在给出解决方案之前尝试一下。
【解决方案3】:

尝试构建项目,你可能有一些无法编译的东西

【讨论】:

    【解决方案4】:

    如果您没有收到错误或警告,请确保在 Sql 项目属性“项目设置”中目标平台与您正在比较的 SQL Server 版本匹配。

    当你将它更改为对应版本时,你会看到更新和生成脚本按钮将被启用,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-01
      • 1970-01-01
      • 2015-03-10
      • 2013-02-12
      • 2017-03-10
      • 1970-01-01
      • 2017-11-09
      • 1970-01-01
      相关资源
      最近更新 更多