在 AlwaysOn 副本上创建 SQL 登录名和用户

Ran*_*der 1 sql-server availability-groups logins

我有一个数据库 (DB1),它同步到另一台服务器上的 (DB2)(通过 AlwaysOn - SQL Server 2014)。

我想授予用户对 DB2 的读取权限。我在 DB1 中创建了一个 SQL 登录名和数据库用户。新的数据库用户迁移到 DB2,但 SQL 登录名没有迁移(这是有道理的)。

问题是,当我尝试在 DB2 上为用户创建 SQL 登录并授予用户对 DB2 的读取权限(绑定到来自 DB1 的用户帐户)时,我收到一条错误消息,指出 DB2 是只读的且无法修改。

那么,我怎样才能做到这一点?

Tar*_*zer 8

您需要在 DB2 服务器上创建登录。使用Robert 的脚本,以便它获取 sid 和密码,如果它是一个 SQL 帐户。

然后授予对 DB1 的权限。由于 AG,该权限将自动神奇地复制到 DB2。

没有办法只授予对 DB2 的权限。它必须在 DB1 上完成。不过,您可以通过禁用 DB1 上的登录来控制访问。