SQL 具有不同数据库安全性的 Server 2016 只读副本

SQL Server 2016 Read Only Replica With Different Database Security

是否可以有一个 SQL 2016 只读副本,它不用作故障转移服务器,其数据库安全性与主副本不同?

我想确保用户没有主节点的访问权限,只有只读访问权限。

Is it possible to have a SQL 2016 read only replica that is not used as a fail over server

是的。但是你需要详细说明。例如,如果是异步模式,则只能进行手动故障转移。这 有点 就像不将它用作故障转移服务器一样,因为您必须对它进行物理强制。参见 failover and failover modes.

Is it possible to have a SQL 2016 read only replica with different database security than the primary

是的。事实上,AlwaysOn AG 的烦人之处之一就是同步登录。大多数人希望他们匹配。这就是为什么 many people have blogged ways on how to do this, and others have created tools 在 powershell 中执行此操作,以及同步代理作业、警报等。

I want to ensure that the users don't have access to the primary node

由于副本与主服务器位于不同的服务器上,因此您可以轻松地在各个实例之间保持权限分离。只需让您的用户登录到副本实例和数据库,而不是主实例和数据库。请记住,服务器登录和用户映射是不同的。对于您的 RoR,您的用户将需要登录服务器,然后将他们的用户 ID 映射到您的副本。

I want to ensure that the users only have read-only access.

因为它已经是只读的,所以这是他们唯一的访问权限。他们将无法更新/删除/插入,即使他们是系统管理员(当然,除非他们将其更改为只读)