Log Shipping 和 DB Mirroring有什么区别 ?
Log Shipping(日志传送)和DB Mirroring(数据库镜像)都是数据库管理系统中的高可用性解决方案,但它们之间存在一些关键区别。
Log Shipping,即日志传送,是一种定期自动同步位于不同服务器或同一服务器不同实例之间的数据库的技术。它通过将主服务器上备份出来的一系列日志自动传送到辅助服务器上并进行恢复,确保在主数据库上进行的增删改操作后,备份的数据库通过恢复传送过来的日志文件,达到和主数据库一致的状态。这有助于防止主数据库被破坏后数据丢失的风险。Log Shipping允许用户在还原过程中设置还原日志备份的时间,因此,在辅助服务器上的数据库可能会稍微滞后于主数据库的状态。这种滞后性也提供了一种容灾的功能,如果在主数据库上进行了误操作,可以将辅助数据库上的数据同步回主数据库。
DB Mirroring,即数据库镜像,是SQL Server中的一种高可用技术。它维护一个数据库的两个副本,这两个副本分别属于两个不同的SQL Server实例(通常安装在不同的计算机上)。其中一个实例充当主服务器,另一个实例则作为备用服务器,即镜像服务器。数据库镜像通过实时地将事务日志从主服务器发送到镜像服务器来保持两个数据库副本的同步。这种同步是实时的,因此镜像数据库几乎总是与主数据库保持一致。
总结来说,Log Shipping和DB Mirroring的主要区别在于同步的实时性和机制。Log Shipping通过定期传送和恢复日志备份来实现同步,可能存在一定的时间滞后,但提供了更大的灵活性。而DB Mirroring则通过实时发送事务日志来保持两个数据库副本的同步,提供了更高的数据可用性,但可能涉及更复杂的配置和管理。根据具体的需求和场景,可以选择适合的方案来实现数据库的高可用性。