假设您有一个生产数据库和一个暂存数据库,您希望在 Internet 上每半小时进行一次复制。总体意图是有一个备用备份,但也有第二个只读数据库用于测试。
您将如何进行设置和配置?
任何关于性能影响的注释都是一个加号。
(也欢迎有关 SQL SERVER 2005 或 2000 的答案)
假设您有一个生产数据库和一个暂存数据库,您希望在 Internet 上每半小时进行一次复制。总体意图是有一个备用备份,但也有第二个只读数据库用于测试。
您将如何进行设置和配置?
任何关于性能影响的注释都是一个加号。
(也欢迎有关 SQL SERVER 2005 或 2000 的答案)
你会想看看日志传送。虽然以下文章已有几年历史,但它会引导您了解原因和方法:
http://www.sql-server-performance.com/articles/clustering/log_shipping_70_p1.aspx
SQL 联机丛书在此处进行了介绍:http ://technet.microsoft.com/en-us/library/bb895393.aspx
如果您正在寻找数据库镜像,那么如果机器位于同一域中,则更简单。如果没有,那么您可以按照@ SQL Mirroring for Non-Domain Servers的说明进行操作
我应该注意,这也适用于域成员服务器,但需要几个不同的步骤。它也是为 SQL 2005 编写的,但在 SQL 2008 上的工作方式几乎相同
如果您想每半小时复制一次,日志传送将是您的首选技术。
更实时的解决方案是使用数据库镜像(SQL 2005 及更高版本)。
日志传送可以通过网络共享或 FTP 完成,而数据库镜像需要在您指定的端口上的两台服务器之间有一个可用的套接字连接。
数据库镜像需要较少的带宽,因为事务几乎是实时移动的,但是通过日志传送,只有在备份日志时才会移动日志,因此需要更多带宽,但时间更短。
您可以提供更多信息,这些信息可能会改变日志传送的答案(尽管到目前为止您已经说过,日志传送是每个人都说的要走的路)
1)您希望能够对暂存数据库做什么?
如果你只是想把它作为备用,日志传送很好。如果您只想从中读取,日志传送也很好,但是您需要使用 STANDBY 恢复日志,然后在需要恢复下一个时就您对数据库连接的操作做出策略决定日志备份 - 是否将它们踢出去?如果没有,您需要进行监控以确保数据库不会太不同步。
如果您也希望能够写入数据库(例如进行一些 ETL),日志传送不是答案,因为它不允许对数据库进行写访问,您可能需要考虑某种形式的复制。
希望这可以帮助