2009-05-29 84 views

回答

9

简而言之,镜像允许您让第二台服务器成为主服务器的“热”备份副本,随时可以接管主服务器发生故障的任何时刻。所以镜像提供故障切换和可靠性。另一方面,复制允许两台或更多服务器保持“同步” - 这意味着辅助服务器可以回答查询并且(取决于设置)实际更改数据(它将在同步中合并)。您还可以将其用于本地缓存,负载平衡等。

4

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

复制是一个功能,允许在多个站点之间复制数据库的“切片”。 “切片”可以是一组数据库对象(即表格),但它也可以包含表格的一部分,如只有特定的行(水平切片)或只有特定的列才能被复制。您可以有多个副本,“副本”可用于查询,甚至可以更新。复制通过跟踪/检测更改(通过触发器或通过扫描日志)并将更改(作为T-SQL语句)发送给订户(副本)来工作。复制是一种在非现场提供数据并将数据整合到中央站点的技术。虽然它有时用于高可用性或灾难恢复能力,但它对于更好地反映和记录传送地址的问题是人为使用的。

复制有多种类型和风格(合并,交易,对等等),它们在实施变更跟踪或更新传播方式上有所不同,如果您想知道更多详细信息,请阅读MSDN spec on the subject

1

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

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

9

A.)镜像: - 镜像数据库无法读取或写入访问。

复制: - 用户数据库(备份站点)已开放读取和写入。

B.)镜像: - 信息流将是只有一条路(从校长到镜像服务器)

复制: - 的变化可以被合并,双向变化可以作出,因此信息从发布商流向订阅者,反之亦然。

C.)镜像: - 在主数据库发生故障的情况下,镜像数据库将接管该控制并将充当主体,并且可以自动重定向应用程序以连接到此新主体服务器。停机时间很少。应用程序中不需要更改代码。

复制: - 在对发行失败的情况下,应用程序需要手动重新定向到订户(如果你真的想这样做),需要在应用程序或连接字符串代码更改。

D.)镜像: - 几乎数据库中的所有内容都被复制到容灾站点,容易复制模式更改。

复制: - 您可以选择在数据库中复制选定的一组表/ SP /函数,模式更改可能会导致一些打嗝。

总之,镜像是DR(灾难恢复)用很少的停机时间的好工具,但缺点是DR站点将是用户访问,而复制可用于两者之间的合并数据由于用户可以访问备份站点,因此服务器可以充当报告用途的好工具,也可以采用灾难恢复解决方案。

这一切都取决于您的需求,业务需求是什么,这将有助于您在环境中选择正确的拓扑。

0

数据库镜像是一种SQL服务器技术,它在不同的SQL Server实例上维护数据库的副本,而数据库复制指的是复制数据并将这些副本从一个数据库分发到另一个数据库的技术组。不像可复制的可扩展性,而复制对于近实时报告来说是理想的。 我找到了一个有用的博客,可以清除你的概念: http://www.differencebetween.info/difference-between-database-mirroring-and-replication