SQL Server - 单个数据库上的多用户授权

Posted

技术标签:

【中文标题】SQL Server - 单个数据库上的多用户授权【英文标题】:SQL Server - multiuser authorization on single Database 【发布时间】:2021-11-29 01:54:33 【问题描述】:

我们的 SQL 服务器有 2 个 SQL 用户,如下:

    用户A,包含以下规则

    拒绝查看任何数据库 10 个数据库中只有两个数据库 A1 和 A2 的授权

    用户 B,包含与用户 A 相同的规则

    拒绝查看任何数据库 10 个数据库中只有两个数据库 B1 和 B2 的授权

根据我使用用户 A 登录时分配的规则,仅显示 A1 和 A2 数据库, 并使用用户 B 仅显示 B1 和 B2 数据库。

我想创建一个有权合并用户 A 和 B 的新用户(用户 C), 在不改变现有用户 A 和 B 的当前授权或特权的情况下。

即用户 A 拥有数据库 A1 和 A2 的授权。 用户 B 拥有数据库 B1 和 B2 的权限。 新用户 C 拥有数据库 A1、A2、B1 和 B2 的授权。

有人可以建议这是否可能或其他方式来实现这种新的用户授权方案?

【问题讨论】:

User AUser B 是 Sql Server 登录,不是吗?您可以使用一组适当的权限创建服务器角色,并为角色添加登录名。 即使是windows认证,也可以为A1A2B1B2组一个组,在AD组之间移动用户。 【参考方案1】:

新用户 C 拥有两个数据库 A1、A2、B1 和 B2 的授权。

Create a Login 用于 C,并在 A1、A2、B1 和 B2 中为 C 创建一个Database User。但是无法声明登录 C 具有 A 和 B 的所有数据库访问权限。

【讨论】:

以上是关于SQL Server - 单个数据库上的多用户授权的主要内容,如果未能解决你的问题,请参考以下文章

sql server 新建用户数据库授权

sql server 新建用户数据库授权

SQL Server 数据库变成单个用户怎么办

SQL Server 的多子网故障转移

SQL Server 数据库变成单个用户怎么办

sql server添加用户和给用户授权