数据库复制还是镜像?

时间:2009-05-29 03:24:12

标签: sql-server-2005 replication

SQL Server 2005中的复制和镜像有什么区别?

3 个答案:

答案 0 :(得分:11)

简而言之,镜像允许您将第二台服务器作为主服务器的“热”备用副本,随时可以接管主服务器发生故障。因此,镜像提供故障转移和可靠性。

另一方面,复制允许两个或多个服务器保持“同步” - 这意味着辅助服务器可以回答查询并且(取决于设置)实际更改数据(它将在同步中合并)。您还可以将其用于本地缓存,负载平衡等。

答案 1 :(得分:5)

镜像是一种在位级别创建数据库副本的功能。基本上,您在两个地方拥有相同,相同的数据库。您不能选择省略数据库的某些部分。您只能有一个镜像,“镜像”始终处于脱机状态(无法修改)。镜像通过将正在创建的数据库日志传送到镜像并在镜像上应用(重做)日志来工作。镜像是一种高可用性和灾难恢复的技术。

复制是一种允许在多个站点之间复制数据库“切片”的功能。 'slice'可以是一组数据库对象(即表),但它也可以包含表的一部分,例如仅某些行(水平切片)或仅包含要复制的某些列。您可以拥有多个副本,并且“副本”可供查询甚至可以更新。复制的工作原理是跟踪/检测更改(通过触发器或扫描日志)并将更改(如T-SQL语句)发送给订户(副本)。复制是一种在非现场提供数据并将数据整合到中心站点的技术。虽然它有时用于高可用性或灾难恢复,但它可以更好地用于镜像和记录发货地址的问题。

有几种类型和风格的复制(合并,事务,点对点等),它们在实现更改跟踪或更新传播的方式上有所不同,如果您想了解更多详细信息,请阅读{{ 3}}

答案 2 :(得分:1)

数据库镜像用于增加数据库的正常运行时间和可靠性。

复制主要用于将主数据库的一部分(发布者)分发到一个或多个订阅者数据库。这通常是为了使远程服务器上的数据可用(通常为只读),以便远程客户端可以在本地(对他们)访问数据,而不是通过较慢的WAN连接直接从发布者访问数据。尽管如前所述,但有更复杂的场景允许订阅者进行更新。它还可以减少发布者的I / O负载。