5

使用什么事务复制?我似乎按照本教程创建了事务复制:

http://www.sql-server-performance.com/2010/transactional-replication-2008-r2/

而且我知道当我更改某些对象时,即任何 DML 或 DDL 语句,这些更改将反映到我进行复制的另一台服务器。但我不清楚我们为什么要使用事务复制。当主实例失败时,SQL 服务器是否会自动开始使用第二台服务器进行复制?或者我们是否必须在第一个实例失败的情况下从完成复制的服务器手动恢复数据库?

提前致谢 :)

4

1 回答 1

8

您可以使用事务复制来维护热备用 SQL 服务器。事务复制将一台服务器(发布者)上的数据复制到另一台服务器(订阅者),其延迟时间低于日志传送。

您可以在数据库对象级别(例如表级别)实现事务复制。因此,Microsoft 建议您在需要保护的数据较少时使用事务复制,并且您必须有一个快速的数据恢复计划。

这种解决方案容易受到发布者和订阅者同时失败的影响。在这种情况下,您无法保护您的数据。在所有其他情况下,例如分发者或订阅者发生故障,最好将订阅者中的数据与发布者中的数据重新同步。

仅当您未实施架构更改或未对数据库实施其他更改(例如复制不支持的安全更改)时,才应使用事务复制来维护热备用 SQL 服务器。

注意 复制不是为维护热备用服务器而设计的。通过复制,您可以在订阅服务器上使用复制的数据来生成报告。您还可以将复制用于其他一般用途,而无需在相对繁忙的发布者上执行处理。

缺点

  1. 建立复制后在发布者处执行的架构更改或安全更改在订阅者处将不可用。事务复制中的分发器使用开放式数据库连接 (ODBC) 连接或 OLE 数据库 (OLEDB) 连接来分发数据。但是,日志传送使用 RESTORE TRANSACTION 低级 Transact-SQL 语句来分发事务日志。RESTORE TRANSACTION 语句比 ODBC 连接或 OLEDB 连接快得多。

  2. 通常,切换服务器会删除复制配置。因此,您必须配置复制两次
    :当您切换到订阅者时。
    湾。当您切换回发布者时。

  3. 如果发生灾难,您必须通过将所有应用程序重定向到订阅者来手动切换服务器。

在这里阅读更多http://sqlserverdatarecovery.com/transactional_replication.html

于 2012-04-10T09:52:22.060 回答