SQL Server 2016 标准 - 高性能异步镜像

问题描述

我有一个 sql Server 2016 标准版。我想将数据库镜像到位于很远的服务器上。

目前,计划脚本创建备份,然后将它们上传到另一台服务器。我知道这不是一个理想的解决方案。

我想要一个(几乎)实时的数据库克隆,而不考虑要同步什么。我想同步所有更改,而不管更改的类型(插入、更新、删除、更改、SP、表、索引、认值等)。

所以,

  • 镜像服务器位于不同的位置(因此可能由于某些网络故障而无法使用)
  • 数据库架构通常每天都在变化(新版本)
  • 新表、新存储过程等
  • 不需要见证服务器,我只想自动克隆一个数据库

我想我需要 sql Server 的高性能(异步)镜像功能,但它仅在企业版中可用。 “高安全”模式不适合我,因为网络延迟,有时镜像服务器不可用。

我的另一个想法是复制数据库。但是当我创建一个新表时,比方说,然后我必须标记该表,它也必须发布。数据库中总是有这么多的变化,所以手动标记新创建的表,SPs 来发布不是一个选项。

有没有办法设置复制来模仿异步镜像行为?或者创建一个存储过程,它可能是发布过程的最后一步,更改发布以自动发布新的和更改的对象?

或者一般来说,您将如何使用 sql 2016 STD 解决这个问题?

解决方法

您使用的是 SQL 2016,因此可用性组...作为选项可供您使用。因为您使用的是标准版,所以它会是 Basic Availability Group,但即使是那些也支持异步提交。