AlwaysOn与数据库镜像端点问题

时间:2022-12-11 18:27:48

  今天在搭建一个测试环境的时候发现一个问题,我将AlwaysOn环境中某节点上的某个非可用性组里的数据库想实时备份到另外一台服务器上,因此我找了一个没有加域的工作组的服务器,与AlwaysOn主节点去搭建一个数据库镜像,结果总是搭建不成功;

  我们都知道,在搭建AlwaysOn可用性组的时候,会自动创建一个端点,而往常在搭建数据库镜像的时候,也会自动创建一个端点,通过端点进行通信。但是,在AlwaysOn环境中某节点再次与工作组搭建数据库镜像的时候,你会发现该节点不再创建数据库镜像的端点,而是使用AlwaysOn可用性组创建的端点,并且当你尝试再次创建数据库镜像的端点时会报错。可是按默认做法使用可用性组端点作镜像,经过多次尝试,都报同样的错误:

  AlwaysOn与数据库镜像端点问题

  鉴于此,我决定对比两个端点的不同,因为我是用图形化界面创建的可用性组端点和数据库镜像的端点,因此我将两个端点都生成脚本进行对比:

  1. 数据库镜像生成的端点:

  AlwaysOn与数据库镜像端点问题

  2. 创建可用性组时生成的端点:

  AlwaysOn与数据库镜像端点问题

  根据上面的对比,我们发现了一些差异,【镜像】和【Hadr_endpoint】是有些不同,但是在AlwaysOn节点上又不能再次创建镜像端点,因此此次测试失败。

  以上是本人一些拙见,如有不同意见,还请各位不吝提出。