限制登录 SQL 可用性组

限制登录 SQL 可用性组

是否可以根据 SQL ent 2012/2014 中的可用性组来限制用户可用的数据库。

想要拥有两个数据库,域用户有权访问这些数据库。将一个放在一个可用性组中,另一个放在另一个可用性组中。每个数据库上都有具有单独 IP 地址的侦听器。然后使用防火墙根据最终用户的连接位置限制对给定 IP 地址的访问,并希望根据他们从一个网络连接到另一个网络来限制他们可以访问的数据库?这可能吗?我的理解是默认行为是侦听器将允许最终用户连接到他们有权访问的任何数据库,而不与与此侦听器关联的可用性组数据库相关。

关于如何实现这一点的任何指导..

谢谢

答案1

基本上来说:

用户连接到网络 A 时可以访问数据库 A,连接到网络 B 时可以访问数据库 B。用户在网络 A 中时不应能够连接到数据库 B,反之亦然。

当您连接到 AG 侦听器时,您将连接到 AG 在给定时间的主要位置所在的 SQL 实例。应用的安全性是该实例上活动的安全性。

我认为唯一可行的方法是赋予用户对两个数据库(和实例)的权限,然后使用防火墙阻止从网络 A 到网络 B 中的 SQL(AG 侦听器和 SQL 侦听器)的访问,反之亦然。

当一切正常时,这会起作用,但是当您的 AG 故障转移时,您将无法访问它。

我不建议实施这一措施。我的主要问题仍然是:你为什么要这么做?

我认为可用性组在这里不是正确的解决方案。只需设置 2 个 SQL Server,授予适当的权限并配置防火墙。如果您想要 DRP/HA 的 AG,则需要避免将其阻止。

相关内容