Sen*_*eer 4 virtualization sql-server-2008
目前,我想将我的部门 SQL Server 合并成一个大型 SQL Server 2008 实例,分布在两台服务器上(出于冗余原因)。
如何/什么是最好的方法来解决这个问题?是通过集群、日志传送还是 VMware(虚拟机监控程序)高可用性功能?
注意:这个数据库服务器不能停机,因为它托管着 VCenter 数据库和服务器监控数据库。
SQL Server 分布在几个较小的服务器 3-4 SQL Server 2000 和 2005 中,这些服务器内总共有 70 个 DB,我想做/构建的是将它们全部迁移到 SQL Server 2008 中,我必须在其中制作它是多余的,因此如果一台服务器因任何原因出现故障,另一个实例可以立即将其接起。
因此,我想从几个较小的 SQL Server 中将它们全部合并为一个更强大的 SQL Server 2008 x64。但目前还不知道哪种技术适用于此,或者是否可以在 SQL Server 2008 Standard 中进行。
任何建议和评论将不胜感激。
TomTom 说得对,但让我扩展几个关键点:
日志传送非常适合 DR,但不适用于最新数据。您的数据总是旧的,比如 15 分钟到 1 小时或更旧,具体取决于您的设置。重新连接不是无缝的。您需要重新配置您的应用程序以指向新系统。此外,第二个数据库不在线,它通常处于恢复模式(应用日志),因此您需要将其退出恢复模式才能使用它。这就是它通常仅用于灾难恢复的原因。
当您处于具有任何延迟的链路上时,集群并不是您想要的。它提供了一个高度可用的 SQL 接口,但它不会使您的数据高度可用,除非您的 SAN 可以为您做到这一点。我永远不会尝试在 DC 之间进行聚类。
镜像。在这种情况下,镜像是您的朋友。镜像有两种基本模式:同步或异步。两种模式的共同点:每个 SQL Server 都有自己的本地数据库副本,但只有一个 SQL Server 可以“拥有”它。换句话说,即使您拥有三台 SQL 服务器,实际上只有其中一台在使用。其他都处于待机状态,等待被激活。
在同步模式下,当收到一个写事务时,它会被所有的 SQL Server 同时执行,直到每个 SQL Server 都报告它已提交该事务时才会处理下一个事务。这可确保每个 SQL 服务器都具有完全最新的数据。这对于高速、低延迟的链接来说非常有用,但对于高延迟的链接来说不太好,因为它会有效地将您的数据库减慢到最慢的合作伙伴的速度。
在异步模式下,SQL Server会不会等待所有其他SQL伙伴提交事务。它只是在本地提交它并继续前进。每个其他 SQL 服务器可能会落后于一些事务,尤其是当它们之间的链接负载过重时。这意味着您可以全速访问活动数据库,但在故障转移的情况下您可能会丢失一些数据。此外,此模式仅适用于 SQL 企业版。
虚拟机高可用性。嗯,这是一整罐蠕虫。这很好,但您再次需要共享同一个 SAN 才能工作。还是您在谈论 VMWare FT(容错)?如果您是,我建议您暂时忘记 SQL 服务器的 FT。FT 在理论上很棒,我什至在一台虚拟机上使用它,但是对于大多数部署,您需要做出的牺牲太大了。此外,由于 VM 彼此同步,带宽问题会影响性能。
为了管理自动故障转移的能力,集群为您提供了一个虚拟实例,您可以连接到该实例,并且一切都对用户不可见。对于镜像,您可以通过运行网络负载平衡角色轻松实现这一点,:1433以便当 SQL 服务器脱离网络时,虚拟实例会切换其他节点。或者,根据您的应用程序支持,您可以在 SQL 连接字符串中指定备用镜像服务器。
您可能对我收到的关于SQL Server 2008 R2 100% 可用性问题的回复感兴趣。
| 归档时间: |
|
| 查看次数: |
3531 次 |
| 最近记录: |