知识大全 几个技巧解析SQL Server群集的难题[1]

Posted

篇首语:博观而约取,厚积而薄发。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 几个技巧解析SQL Server群集的难题[1]相关的知识,希望对你有一定的参考价值。

几个技巧解析SQL Server群集的难题[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  服务器群集利用了Windows Server系列的Enterprise Edition中的内置群集功能 实际上 对于群集 使用Windows Server 要比Windows Advanced Server 好得多 要想使您从群集中获得的好处最大化 您需要合适的硬件 而这涉及到一些费用 只是利用共享磁盘将几个服务器拼凑在一起是不够的 您不能依赖这样的事实 即单独的硬件组件可能存在于 Windows目录(以前称为硬件兼容性列表)中 系统作为整体必须存在于Windows目录中 但不要担心 还有其他一些经过认可的 低成本群集解决方案可用 图 显示了一种典型的群集配置

  Figure A typical cluster

  当然 群集比硬件需要更多的条件 您还需要选择合适版本的SQL Server Enterprise Edition 支持群集功能以及其他一些有用功能 如能够利用更多CPU 分布式和可更新已分区视图 内置日志传送 自动使用索引视图 如果已经拥有Enterprise Edition 许可证 则应考虑群集 您是否有构成传统群集所必需的两到八台服务器(我们马上会讨论单节点群集) 如果拥有SQL Server Standard Edition 则可以安装两节点群集

  Windows Server Enterprise Edition和Datacenter Edition 附带内置群集功能 安装群集只需运行群集管理器 您可以同时添加所有节点 也可以每次添加一个节点 类似地 在安装 SQL Server 时 您可以选择安装在单独的非群集服务器上 也可以选择将虚拟实例安装在群集上 如果选择安装虚拟实例 可以安装在群集的所有节点上 也可以安装在一部分节点上 甚至仅安装在一个节点上

  最后 为了达到群集的真正目标 即高可用性 需要为您提供合格的人员以及在出现问题时所遵循的预先演练好的过程 尽管群集是防止出现硬件故障的有力保障 但它无法阻止用户出错 例如 午夜时分 一位睡眼朦胧的DBA删除了一份重要的表

  单节点群集

  尽管您在此刻只拥有一台服务器 也可以考虑创建一个单节点群集 如果这样做 您可以在以后选择升级到群集 从而无需重建 但是 请务必确保您所选择的硬件位于 Windows目录的群集部分

  这样做不仅仅只是为了实现能够在以后添加节点这个高可用性 如果您发现您的服务器恰好没有必需的功能 那么您猜会发生什么事情 这意味着您需要迁移 既费时又费力 如果您有一个单节点群集 则迁移过程就会变得很容易 停机时间也少得多 您需要向群集中添加新节点 将SQL Server二进制文件和服务包添加到该新节点 然后故障转移到该新节点 接下来 添加任何服务包之后的更新程序 最后删除旧节点 停机时间只是故障转移时间与添加更新程序(如果有)时间之和

  添加节点

  由于一个群集中的所有节点必须相同 您应该立刻(而不是稍后)采取行动 获得另外的节点 如果等待时间太长 节点可能会退出生产 曾经就有这样一个项目 我不得不在 SQL Server 群集中重建节点 我请操作系统/网络管理员处理了基本的计算机构建 然后我投入工作 将构建的计算机添加回群集并准备将其用作 SQL Server 节点 一切都进行得很顺利 直到我需要故障转移到新节点 但令我非常沮丧的是 它却直接执行了故障恢复 长话短说 尽管我已经准备了有关如何构建新群集的详细文档 其中包括如何将群集服务帐户和SQL Server服务帐户添加到这两个节点 但显然管理员并没有遵循该文档 管理员没有将这些服务帐户添加到重建节点 所以 他们在重建之前所拥有的权限便不再存在

  我花了很长时间才追捕到这个原因 有一天 我突然想到查看一下本地组成员身份 当我添加了这两个帐户之后 故障转移便顺利进行了 于是我开始思考 虽然您只是偶尔才需要重建节点 但如果需要重建节点 那便是在紧急时刻 尽管我已经提供了文档 但人们并不利用它 只需编写一个简短的脚本来添加这两个帐户及进行任何其他必要的自定义 就能使安全部分自动完成 在SQL Server 中 事情得到了改善 安装程序要求您为SQL Server服务帐户设置域级组

  当然 这让我想得更多 您可以创建几个脚本 它们调用CLUSTER EXE将节点添加到Microsoft Cluster Server (MSCS)群集中 您只需为脚本提供节点名称 然后由脚本处理其余工作 在紧急情况下 自动化确实是您的朋友

  N+ 群集

  有时 向群集添加节点的原因不是您要更换节点 您可以将更多的SQL Server实例添加到群集中且每个实例都需要不同的磁盘资源 虽然多个实例可以在一个节点上运行 但这些实例会共享CPU和RAM 因此可能会导致性能降低 理想情况下 在一个节点上仅运行一个实例 但在发生故障转移时如何能确保做到这一点呢?很简单 答案是 有一个节点上不运行任何服务 而其他节点则是每个节点上运行一个SQL Server实例 实际上 这就是N+ 群集的定义 N+ 个节点上运行N个实例 额外的节点是备用节点

  升级SQL Server

  升级SQL Server的群集实例不是因为胆小 构建群集只为一个原因 您需要正常运行时间 但SQL Server 提供了许多您想利用的增强功能 所以 如果您准备升级 无需太多停机时间便可以继续进行

  您会选择哪种方案?我们首先看一看成本最高的解决方案 创建整个新群集 这意味着要创建若干新服务器 或许还要创建新的存储区域网络(SAN) 您或许可以保留现有的网络交换机 但这大约就是您所要保留的全部 显然 这种方法的成本很高 但它具有一定的优势 与旧硬件相比 新硬件的运行通常要好得多 因为磁盘容量和速度都得到了增长 因此 仅仅使用新硬件 您的性能就会得到迅速提高 您甚至可能会租用设备 而这只是为了保持领先地位

  硬件到位后 您可以在此安装上创建新的虚拟SQL Server 将生产数据库复制过来 然后考察新系统的性能 从而在移交日期之前留有充足的时间来解决程序错误 但别忘了编写脚本 从现有服务器中退出 (万一发生灾难性故障 最好访问support microsoft /kb/ 来更新登录构建脚本 )

cha138/Article/program/SQLServer/201311/22475

相关参考

知识大全 SQL Server执行SQL语句时内存占用特点[1]

SQLServer执行SQL语句时内存占用特点[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 SQL Server 数据库管理常用的SQL和T-SQL语句[1]

SQLServer数据库管理常用的SQL和T-SQL语句[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 安装SQL Server 2000[1]

MSSQL入门基础:安装SQLServer2000[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 SQL Server 2000的工具[1]

MSSQL基础教程:SQLServer2000的工具[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 SQL Server的有效安装[1]

SQLServer的有效安装[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nb

知识大全 SQL Server 2000的新特性[1]

MSSQL基础教程:SQLServer2000的新特性[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 SQL Server开发问题前十名[1]

SQLServer开发问题前十名[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在SQLS

知识大全 从SQL Server 7.0升级[1]

MSSQL基础教程:从SQLServer7.0升级[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 SQL Server 2008空间数据初探[1]

数据库工程师:SQLServer2008空间数据初探[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 SQL SERVER定时作业的设置方法[1]

SQLSERVER定时作业的设置方法[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!