Sql server 为SQL Server群集准备数据库

Sql server 为SQL Server群集准备数据库,sql-server,database,scalability,load-balancing,cluster-computing,Sql Server,Database,Scalability,Load Balancing,Cluster Computing,我们计划在未来几个月内实施SQLServer2005集群。我想知道作为一名数据库开发人员,在尝试实现这一目标时需要采取哪些步骤/预防措施?我们是否需要更改ado.net代码(前端)/存储过程等?是否需要遵循任何最佳实践 我问这个问题的原因是:对于asp.net负载平衡,您必须确保会话/应用程序/缓存的代码都符合负载平衡环境。(所以,如果您正在使用inproc会话,您必须重写该代码,使其在负载平衡的环境中工作)。现在这是您的web服务器级别。我只是想在尝试在数据库服务器级别扩展时做正确的事情 如果

我们计划在未来几个月内实施SQLServer2005集群。我想知道作为一名数据库开发人员,在尝试实现这一目标时需要采取哪些步骤/预防措施?我们是否需要更改ado.net代码(前端)/存储过程等?是否需要遵循任何最佳实践

我问这个问题的原因是:对于asp.net负载平衡,您必须确保会话/应用程序/缓存的代码都符合负载平衡环境。(所以,如果您正在使用inproc会话,您必须重写该代码,使其在负载平衡的环境中工作)。现在这是您的web服务器级别。我只是想在尝试在数据库服务器级别扩展时做正确的事情


如果这个问题很愚蠢,我很抱歉。请原谅我在这个问题上的知识有限:-)

您不必进行前端更改即可实现SQL Server群集,只需像平常一样连接到SQL Server实例即可

但是,SQL Server故障转移群集不是负载平衡。它用于在主节点上的任何硬件出现故障时添加冗余。在主节点出现故障之前,您的另一个(辅助)节点不会执行任何操作,在这种情况下,故障转移会自动发生,并且您的数据库会在10-20秒的延迟后再次为连接提供服务


另一个问题是辅助节点上的缓存为空,因此您可能会在故障切换后看到一些性能影响。您可以使用在镜像服务器上实现“热”缓存,但无法对群集执行类似操作。

数据库群集与负载平衡不同。它是高可用性,而不是“向外扩展”

基本上:

  • 2台具有共享磁盘的服务器(或节点)(在任何时候只能由一个节点拥有)
  • 一种是“活动”运行虚拟windows server和SQL server实例
  • 一个是监控另一个(“被动”)
  • 您连接到虚拟windows服务器
如果节点1离线,则节点2接管。也可以手动进行故障切换

这意味着:节点1上的服务关闭,节点2控制磁盘和服务并启动。任何连接都将断开,并且不会传输任何状态或会话