从 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 数据库项目连接到 SQL Azure 服务器