SQL Server 2005镜像2-1

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

阅读文档,它声称:

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

这是否意味着无法使用一个实例来从两个其他实例中备份数据库?

因为我需要在所有三台机器上创build证书(如果我理解正确),并且我使用每个端点的证书。 我不应该在使用不同证书的备份机器上创build两个端点吗?

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

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

在这一点上,你应该准备好开始数据库镜像。

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

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

所以在涉及一个实例(A)连接到另外两个实例(B和C)的情况下:

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