如何在 SQL Server 2008 上设置复制

如何在 SQL Server 2008 上设置复制

假设您有一个生产数据库和一个临时数据库,您希望每半小时在互联网上复制一次。一般目的是有一个备用备份,但也需要有第二个只读数据库用于测试。

您将如何进行设置和配置它?

任何有关性能影响的说明都是有益的。

(也欢迎有关 SQL SERVER 2005 或 2000 的答案)

答案1

您需要了解日志传送。虽然以下文章已有数年历史,但它可以引导您了解日志传送的原因和方法:

http://www.sql-server-performance.com/articles/clustering/log_shipping_70_p1.aspx

SQL 联机丛书在此处对此进行了介绍:http://technet.microsoft.com/en-us/library/bb895393.aspx

答案2

如果您正在寻找数据库镜像,如果机器位于同一个域中,则更简单。如果不是,那么您可以按照说明进行操作@非域服务器的 SQL 镜像

我应该指出,这也适用于域成员服务器,但需要几个不同的步骤。它也是为 SQL 2005 编写的,但在 SQL 2008 上应该几乎完全相同

答案3

如果您想每半小时复制一次,日志传送将是您的首选技术。

更实时的解决方案是使用数据库镜像(SQL 2005 及更高版本)。

日志传送可以通过网络共享或 FTP 完成,而数据库镜像需要在您指定的端口上的两个服务器之间建立套接字连接。

由于事务几乎实时地移动,因此数据库镜像总体上需要较少的带宽,但是使用日志传送时,日志仅在备份时才移动,因此需要更多的带宽,但所需时间较短。

答案4

您可以提供更多信息,这些信息可能会改变日志传送以外的答案(尽管您到目前为止已经说过,正如大家所说,日志传送是可行的方法)

1)您希望使用暂存数据库做什么?

如果您只想将其作为备用数据库,那么日志传送就很好。如果您只想从中读取数据,那么日志传送也很好,但您需要使用 STANDBY 恢复日志,然后在恢复下一个日志备份时对数据库连接进行策略决策 - 将它们踢出还是不踢出?如果不是,您需要进行监控以确保数据库不会太不同步。

如果您希望也能够写入数据库(例如,执行一些 ETL),那么日志传送并不是答案,因为它不允许对数据库进行写访问,并且您可能需要考虑某种形式的复制。

希望这可以帮助

相关内容