17

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

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

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

在此处输入图像描述

模式比较后,更新目标按钮被禁用对我没有帮助。

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

(编辑):

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

4

4 回答 4

14

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

于 2018-01-15T09:18:12.800 回答
4

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

于 2020-03-23T14:44:57.107 回答
4

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

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

重建解决方案

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

于 2018-10-10T03:17:02.707 回答
1

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

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

于 2018-07-05T15:18:51.560 回答