【问题标题】:What SQL permissions are required to publish databases from Visual Studio Database Project从 Visual Studio 数据库项目发布数据库需要哪些 SQL 权限
【发布时间】: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/…

标签: sql-server visual-studio-2013 msbuild database-project


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2011-01-01
    • 2019-03-30
    • 2019-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多