具有 Always On 可用性组的数据库快照(SQL Server)

适用于:SQL Server

可以在可用性组中的主数据库或辅助数据库上创建数据库快照。 副本角色必须是PRIMARYSECONDARY,且不能处于RESOLVING状态。

注释

由于写入复制活动,在任何数据库上创建数据库快照会增加 CPU 和 I/O 开销。 在数据库副本上,这种额外开销可以减少重做吞吐量并影响其他的操作,尤其是在快照数量增加时。

您应该在数据库同步状态为 SYNCHRONIZINGSYNCHRONIZED 时创建数据库快照。 但是,当数据库同步状态为 NOT SYNCHRONIZING时,仍可以创建数据库快照。

如果辅助副本从主副本 DISCONNECTED 独立存在,副本上的数据库快照将继续工作。

某些 AlwaysOn 可用性组条件会导致源数据库及其数据库快照重启,从而暂时断开用户的连接。 这些情况如下所示:

  • 主要副本更改角色。 发生此更改的原因可能是当前主副本脱机,并在同一服务器实例上重新联机,或者可用性组故障转移。

  • 数据库进入辅助角色。

如果托管数据库快照的可用性副本发生故障转移,数据库快照仍然保留在创建它们的服务器实例上。 可以在故障转移后继续使用快照。 如果您的环境中性能是一个关注点,请仅在由配置为手动故障切换模式的辅助副本托管的辅助数据库上创建数据库快照。

如果您曾经将可用性组手动故障转移到此辅助副本,则可以在其他辅助副本上创建一组新的数据库快照,将客户端重定向到这些新的数据库快照,并且从新的主数据库上删除所有数据库快照。