标准版与企业版SQL Server 2016 SP1只读副本

时间:2017-06-16 13:30:22

标签: sql-server

首次准备3层架构(IIS / SQL Server)。我想在最初添加2个应用服务器和两个机器SQL Server群集。到目前为止,您有使用DB Mirror和Log Shipping的经验。

根据我的阅读,DB Mirror已被弃用,我不想使用它。但是,如果客户端购买SQL Server 2016 SP1标准版许可证,则第二个(仅)副本不是只读的,即不可访问?

我想将辅助副本用于只读查询(卸载主要副本)。我很好,几秒钟(甚至一分钟)的数据同步延迟,但我希望始终有辅助副本的响应。如果我理解正确,则无法用Basic 2节点AOAG ??

完成此操作

日志传送可能不是一个选项,因为备份/复制/恢复(应用逻辑日志)序列在一分钟间隔内没有多大意义? 如果我将HA功能与性能功能混合,我甚至可以为RO目的添加额外的服务器,只要我实现了我们所需要的。(因此一个副本用作HA功能,而另一个“某些类型的复制”用作RO实例)我还需要将数据库复制到远程位置,但我认为日志传送将在这里完成工作(我想在同一时间同时提供AOAG和日志传送的实例没有限制,请分享任何经验)

此外,我想问一下,客户端在二级,ERROR或延迟上应用逻辑日志或REDO线程时收到的响应(对于日志传送和AOAG?

我们可以在客户端放置一些超时(等待延迟)但我认为它将从RW实例执行读取。

问题:

这么长的故事是否有任何方法可以实现“连续事务日志恢复”之类的功能,以便在使用标准版软件时始终可用于READS?

谢谢。 亚历山大

2 个答案:

答案 0 :(得分:0)

您可以像镜像一样创建辅助快照。您需要遵循一些规则,下面是它们

1.副本角色必须是PRIMARY或SECONDARY,而不是RESOLVING状态。

Microsoft也在下面说明

  

某些Always On可用性组条件会导致重新启动源数据库及其数据库快照,从而暂时断开用户连接。这些条件如下:

     

主副本会更改角色,无论是因为当前主副本脱机并在同一服务器实例上重新联机,还是因为可用性组已故障转移。

     

数据库进入次要角色。

     

如果承载数据库快照的可用性副本进行了故障转移,则数据库快照将保留在创建它们的服务器实例上。用户可以在故障转移后继续使用快照。如果您的环境中存在性能问题,我们建议您仅在由配置为手动故障转移模式的辅助副本托管的辅助数据库上创建数据库快照。如果您手动将可用性组故障转移到此辅助副本,则可以在另一个辅助副本上创建一组新的数据库快照,将客户端重定向到新的数据库快照,并从现在的主数据库中删除所有数据库快照。 / p>

使用的参考文献:
https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/database-snapshots-with-always-on-availability-groups-sql-server

答案 1 :(得分:0)

  

有什么方法可以实现“连续事务日志恢复”之类的东西到一个实例,当使用该软件的标准版时,该实例将始终可供READS使用?

Standard Edition支持事务复制,可用于创建全部或部分主数据库的近实时可读(逻辑)副本。在TR中,读取日志记录以重建应用于订户的DML语句,因此它是逻辑的,而不是物理复制。事务复制通常不用于高可用性。

  

客户端在辅助,错误或延迟上应用逻辑日志或REDO线程时收到的响应(对于日志传送和AOAG?

对于日志传送或数据库快照,必须断开所有读取客户端以及时向前滚动副本。您可以使用同义词以某种复杂性为代价来缓解这种情况,如here所述。

对于AlwaysOn可用性组可读副本,副本在应用日志记录时可连续读取。