问题定义
我们的数据库服务器需要转移到另一个数据中心。它在Microsoft SQL Server 2012 Enterprise(64位)上运行,并包含两个大约2TB和1TB的数据库。
为此,几乎没有停机时间甚至没有停机时间将是理想的。
工作量
这些数据库用于.NET网站,并且会不断更新。
周末不可用它是可以接受的。在切换到新数据库之前,当前正在使用的数据库将保持唯一。
理想情况下,只需更改DNS条目以指向新的数据库服务器,同时确保不更新数据库,即可进行该切换。
此外,只要将从一台服务器切换到另一台服务器的停机时间(停机时间)保持在较低水平,此操作所花费的时间并不重要。
考虑的方法
备份还原
过去已经做到了这一点,但是即使通过内部网络完成,也要花费大量的停机时间,因此比通过Internet 更有效
日志传送
据我了解,该方法将通过配置主/从服务器并将主数据库的精确副本传输到只读的从服务器,从而最大程度地减少停机时间。如上所述,不需要访问从属服务器,我们只需要一种在不破坏数据的情况下拥有主数据库副本的方法。
就资源利用率而言,它似乎也相当有效,并且不会对主服务器性能产生太大影响。
我对这种方法可能不对,请随时纠正我。
数据库镜像
我不太了解这种方法,但似乎是一个有效的选择。不需要实时同步,并且主机的性能非常重要,因此,如果选择这种方法,异步将是必经之路。
还有其他选择吗?
该服务器直接在裸机硬件上运行,因此不幸的是不能选择较低级别的解决方案。也许有更好的方法可以做到这一点?
约束条件
如上所述,这些数据库很大,难以维护,但这是另一个问题。
SQL Server的版本将相同(Microsoft SQL Server 2012 Enterprise 64位)。
它必须在两个数据中心之间通过网络传输,因此很有可能在Internet上传输。不幸的是,无法将磁盘从一个站点发送到另一个站点进行初始同步。为传输提供某种安全性将是理想的,但是我们会尽力解决这种情况。
这应该可以很好地概述我们对这项任务的需求,希望你们中的某些人不得不面对这种情况。