模式比较后,Visual Studio中禁用“生成脚本”按钮

时间:2017-10-23 11:52:25

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

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

  

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

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

enter image description here

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

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

(适用编辑):

即使拥有此权限,它也无效。但是我可以在比较两个数据库时生成脚本。

4 个答案:

答案 0 :(得分:9)

如果目标是数据库项目,则禁用

生成脚本按钮。要生成脚本,您可以直接与目标数据库进行比较,而不是与数据库项目进行比较。

答案 1 :(得分:1)

在比较数据库模式之前,请确保您重建了解决方案。为此,请在Visual Studio中:

  • 转到解决方案资源管理器
  • 右键单击解决方案的根目录
  • 单击“重建解决方案”

Rebuild solution

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

答案 2 :(得分:1)

尝试构建项目,您可能会遇到无法编译的问题

答案 3 :(得分:0)

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

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