SQL Server 2005 镜像 2-1

SQL Server 2005 镜像 2-1

我想设置一个 SQL Server 实例作为 2 个生产服务器的镜像备份,并且我需要使用证书认证,因为它们不是 AD 域的一部分。

阅读文档,它声称这一点:

服务器实例上的所有镜像连接都使用单个数据库镜像端点,并且必须在创建端点时指定服务器实例的身份验证方法。因此,对于数据库镜像,每个服务器实例只能使用一种身份验证形式。

这是否意味着不可能使用一个实例来从另外两个实例备份数据库?

由于我需要在所有三台机器上创建证书(如果我理解正确的话),并且我每个端点都使用证书。难道我不应该能够在使用不同证书的备份机器上创建两个端点吗?

答案1

您只能在该实例上创建一个数据库镜像端点。

您应该能够简单地在备份机器上创建一个证书,并根据该证书创建端点。然后备份该证书并将其导入到两个生产服务器中。在每个生产服务器上创建一个证书(每个证书都有不同的名称),然后将该证书备份并恢复到备份服务器。

此时您应该可以开始数据库镜像了。

答案2

证书代表端点身份。一个实例只能有一个用于镜像的端点,并且该端点可以绑定到单个证书私钥。端点连接的所有对等点都必须拥有与在端点上被授予 CONNECT 权限的登录名相关联的相同证书(仅公钥)的副本。此部署始终是对称的。

您可以在我的博客上阅读如何镜像端点身份验证作品。

因此,在一个实例(A)连接到另外两个实例(B 和 C)的情况下:

  1. 所有三个实例都有自己的证书 A->Ca、B->Cb、C-Cc,以及私钥,代表每个端点的身份。
  2. 所有三个实例都导出各自的证书(仅公钥)
  3. B 导入 A 的证书 Ca,并向 Ca 的所有者授予 B'e 端点的 CONNECT 权限
  4. A 导入 B 的证书 Cb,并向 Cb 的所有者授予 A 端点上的 CONNECT 权限
  5. C 导入 A 的证书 Ca,并将 C 端点的 CONNECT 权限授予 Ca 的所有者
  6. A 导入 C 的证书 Cc,并向 Cc 的所有者授予 A 端点上的 CONNECT 权限

相关内容