从 Visual Studio 数据库项目发布数据库需要哪些 SQL 权限

Posted

技术标签:

【中文标题】从 Visual Studio 数据库项目发布数据库需要哪些 SQL 权限【英文标题】:What SQL permissions are required to publish databases from Visual Studio Database Project 【发布时间】:2015-11-04 01:59:14 【问题描述】:

我们有一个 SQL Server 数据库项目,其中包含我们的数据库对象。当 SQL SysAdmin 用户尝试部署项目时,它工作正常。我们想设置另一个开发人员来部署不是系统管理员的数据库。它们是 db_owner 角色的一部分。

MSBuild 生成部署脚本时,会调用:

REVOKE CONNECT TO [SQLUser] CASCADE;

然后在最后:

GRANT CONNECT TO [SQLUser]
AS [dbo];

它为数据库中的每个用户执行此操作。

用户需要什么访问权限才能不删除并重新创建所有connect 权限?

【问题讨论】:

如果有可能,您可能需要考虑在发布选项中忽略登录/用户对象。 @PeterSchott 很乐意这样做,如果可以的话。有导游吗? 对于每个环境的不同登录,这是迄今为止我见过的最好的,但在最新的 SSDT 位中有一个选项可以忽略登录。 schottsql.blogspot.com/2013/05/… 【参考方案1】:

如果其他人遇到这种情况,有一种方法可以忽略 Visual Studio 2017 发布配置文件中的连接权限。

转到高级... -> 删除 -> 不删除权限。这假定选中了“在目标中放置对象但不在源中放置对象”功能。

但是,这也会忽略其他权限的撤销,因此请确保这是您想要的。如果权限在 SSDT 之外处理,这仍然是需要的。

【讨论】:

以上是关于从 Visual Studio 数据库项目发布数据库需要哪些 SQL 权限的主要内容,如果未能解决你的问题,请参考以下文章

从 Visual Studio 数据库项目发布数据库需要哪些 SQL 权限

用于从数据库项目中删除 SQL 文件的 Visual Studio 2010 宏

无法从 Visual Studio C# 连接到数据库

无法从 Visual Studio 数据库项目连接到 SQL Azure 服务器

如何从 Visual Studio 中的 GridView 更新 Access 数据库?

在 Visual Studio 2015 “从 git 提取数据时”出现错误