盘点SQL Server集群服务器的优缺点


  认为一个SQL Server集群能够给集群中的两个节点带来负载平衡,这是一种常见的误解。虽然这似乎很有用,但却是不正确的。这也意味着集束SQL Server不能真正提高性能。集束SQLServer只能提供故障转移功能。故障转移就是当系统中的一台机器发生故障失去其功能时,另一台机器将接手运行它的SQL Server实例。这种功能失效可能是由于硬件故障、服务故障、人工故障或各种其它原因。
  
  为何要集束SQL Server环境?
  
  在实用性方面,集群SQL Server环境令人满意。在进行故障转移时,将数据库实例由一台服务器转移到另一台服务器的时间非常短暂,一般只需要3至7秒钟。虽然需要重建连接,但对数据库的终端用户而言,故障转移处理通常是透明的。低廉的故障转移成本还可帮助你对集群中的节点进行维护,而不会造成服务器完全无法访问。
  
  SQL Server集群类型
  
  一共有两种类型的SQL Server集群:主动/被动集群和主动/主动集群。下面分别对它们进行说明(说明以两个节点的SQL Server集群为基础)。
  
  主动/被动集群
  
  在这种类型的集群中,一次只有一个节点控制SQL Server资源。另一个节点一直处于备用模式,等待故障发生。进行故障转移时,备用的节点即取得SQLServer资源的控制权。
  
  优点:由于服务器上只有一个实例在运行,所以在进行故障转移时,不需要另外的服务器来接管两个SQLServer实例,性能也不会因此降低。
  
  缺点:由于虚拟服务器上只有一个SQLServer实例在运行,另一台服务器总是处理备用模式与空闲状态。这意味着你并没有充分利用你购买的硬件。
  
  主动/主动集群
  
  在这种类型的集群中,集群中的每个节点运行一个独立且主动的SQL Server实例。发生节点故障时,另一个节点能够控制发生故障节点的SQLServer实例。然后这个正常的节点将运行两个SQL Server实例——它自己的实例和发生故障的实例。
  
  优点:通过这种配置,你能够充分利用你的硬件。在这样的系统中,两个服务器都在运行,而不是只有一台服务器运行,而另一台处于等待故障发生的备用模式,因此你能够充分利用你购买的机器。
  
  缺点:如果进行故障转移,一台服务器运行两个SQL Server实例,性能就会受到不利影响。然而,性能降低总比虚拟服务器完全失灵要强得多。这种配置的另一故障在于它要求购买的许可要比主动/被动集群多一些。因为集群在运行两个主动SQL Server实例,这要求你购买两个单独的服务器许可。在某些情况下,这也可能对你形成阻碍。