0

我已经接近说“让我上线”的阶段了OLTP DB 基于修改后的标志/触发器等。以及组成系统的其他少数服务,每个服务都有自己的专用数据库等。通过消息 (NServiceBus) 相互通信。

当我开始时,我试图保持所有内容的本地复制,但事实证明它越来越困难,并且反思可能是过去几周的主要摩擦点,我喜欢定期更新,因为遗留数据库正在增长并导致数百每日活动。具有高延迟和中等带宽(在我和客户的站点之间,我在东南亚,无论如何带宽通常都是垃圾)也是 RDP、SQL 工具、远程连接字符串等的问题。跟踪集成错误和理解场景他们在反馈/集成/质量检查期间出现也很困难,因为我的数据没有反映客户数据库的当前状态(客户的员工一直在工作并最终改进数据),这意味着再次休息、喝咖啡和长时间同步.

我认为在环境(他们的数据库到我的数据库)之间每天进行两次同步会很好,除了旧的 SQL 服务器数据库之外,我在某种程度上对所有东西都有设计控制权。

SO用户的最佳选择是什么?

我正在考虑在我的开发盒上设置一个 Windows 2003 轻型 VM。并在此安装客户端站点的相同设置(但显然不分布在多个服务器上)。然后为了同步数据库,我正在考虑 SQL Server 复制?或批处理脚本?或者有没有更好的工具 - 快速和良好的压缩?我不希望我的更改回到生产环境(我有一个单独的 CI 和部署过程),我只想(我想我想要.. 告诉我是否有更好的主意)我的数据库每晚或每天两次刷新(也许当我在午餐带宽允许的情况下)。

每个人都是如何处理这个问题的?

4

1 回答 1

1

我会推荐两种方法来做到这一点:

  • 快照复制
  • 备份事务日志并手动(或批量)应用它

快照复制可能很难开始工作,但即使在离线情况下也是可能的,例如将快照物理携带到另一个位置。

事务日志方法可用作标准备份过程的一部分。即:每周两次完整备份,更定期地备份事务日志。

请记住,最佳实践是在测试环境中使用数据之前对其进行清理。至少这应该是更改所有个人数据,尤其是电子邮件地址、密码和任何其他可能导致某些自动化过程与数据库中的用户联系的方法。

于 2009-11-09T09:09:44.343 回答