【发布时间】:2009-11-09 08:30:50
【问题描述】:
我已经接近说“让我们上线”的阶段了来自基于修改的标志/触发器等的遗留 OLTP 数据库。以及组成系统的其他少数服务,每个服务都有自己的专用数据库等。通过消息 (NServiceBus) 相互通信。
当我开始时,我试图保持所有内容的本地复制,但事实证明它越来越困难,并且考虑到可能是过去几周的主要摩擦点,我喜欢随着遗留数据库的增长定期保持最新状态并每天引发数百个事件。具有高延迟和中等带宽(在我和客户的站点之间,我在东南亚,无论如何带宽通常都是垃圾)也是 RDP、SQL 工具、远程连接字符串等的问题。跟踪集成错误和理解场景他们在反馈/集成/质量检查期间出现也很困难,因为我的数据没有反映客户数据库的当前状态(客户的员工一直在工作并最终改进数据),这意味着再次休息、喝咖啡和长时间同步.最好在本地完成所有操作,然后在最后部署,但我必须逐步交付部件(以进行检查),并且某些部件甚至正在使用中(尽管不是关键),因此需要在使用中修复错误快速,并且由于它是一家小公司,增量反馈,它有助于消除沿途的一些更模糊的要求(诅咒我)。
我认为每天在环境之间进行两次同步会很好(他们的数据库要我的),我在一定程度上可以控制除旧版 SQL 服务器数据库之外的所有内容。
SO 用户的最佳选择是什么?
我正在考虑在我的开发盒上设置一个 Windows 2003 轻型 VM。并且在此安装客户端站点的相同设置(但显然不分布在多个服务器上)。然后为了同步数据库,我正在考虑 SQL Server 复制?或批处理脚本?或者有没有更好的工具 - 快速和良好的压缩?我不希望我的更改回到生产环境(我有一个单独的 CI 和部署程序),我只想(我想我想要.. 告诉我是否有更好的主意)我的数据库每晚或每天两次刷新(也许在我吃午饭的时候带宽允许)。
大家是怎么处理这个问题的?
【问题讨论】:
标签: sql-server deployment production-environment