SQL Server 2008 R2 cluster

SQL Server 2008 R2 cluster建议与windows server 2008 R2 搭配,这个组合与win2k3+sql server 2005 cluster还是有不小差别的,我遇到的主要体现在:

1.cluster至少需要3块共享磁盘:一块用于仲裁、一块用于dtc使用、一块给SQL Server 2008 R2 安装使用。

2.集群的安装:win2k3在一个节点安装sql server 2005之后,会自动通过远程脚本的调用,在第二个节点上自动完成安装;而sql server 2008 R2 cluster的安装,会在主节点上完成sql server 的安装,然后需要登录第二个节点,有一个"将节点2添加到集群"的过程。

3.patch apply:补丁的应用更为复杂一些。一般需要再passive node上完成补丁的安装,然后将当前完成安装的passive node failover成active node,再在变成passive node的另外节点完成补丁的安装。这个过程与03+sql 05组合还是有不少区别的。03组合,只要在一个active node上安装sp补丁即可。

 

SQL Server 2008 R2 cluster的安装部署

SQL Server 2008 R2+windows server 2008 R2 cluster组合大致的部署过程与win2k3+sql server2005组合差不多,也是先搞定cluster软件,搞定SQL Server cluster所需的DTC 资源组件,然后搞定sql server的安装。

详细过程可以参考文档:

SQLServer2008Cluster

SQL Server 2008 cluster与SQL Server 2005 cluster的区别

最近在研究SQL Server集群,发现SQL Server 2008+window server 2008组合与SQL Server 2005+windows server 2003组合有着一些区别。

1.共享磁盘的需求

在windows server 2003+sql server 2005组合中,只要有两个共享磁盘即可,一个磁盘用于mscs的仲裁盘,另外一个用作SQL Server安装数据盘使用,有这两块磁盘就足够了。而到了08这个组合后,最少需要三块磁盘:仲裁、DTC的磁盘、sql安装使用。
在sql server 2005+windows server 2003的环境中,DTC组件资源这块磁盘可以由仲裁盘代替,而到了08组合下,仲裁盘不能用于DTC中了,需要额外一块磁盘。

2.两个节点的安装

在windows server 2003+sql server 2005组合中,安装SQL Server的过程中,会通过远程调用node2上的计划任务脚本,在安装一个节点的同时,在第二个节点也完成安装,无需单独在第二个节点上操作。而08的组合则需要在第一个节点完成安装之后,在另外节点上完成"向SQL Server故障转移集群中添加节点"的操作。

3.patch apply:补丁的应用更为复杂一些。一般需要再passive node上完成补丁的安装,然后将当前完成安装的passive node failover成active node,再在变成passive node的另外节点完成补丁的安装。这个过程与03+sql 05组合还是有不少区别的。03组合,只要在一个active node上安装sp补丁即可。

4.关于所需的domain group:sql server 2005 cluster需要一个domain group,而在sql server 2008 cluster中,已经不再需要。

When you install a SQL Server 2008 failover cluster on a Windows Server 2008 failover cluster, 

domain groups are no longer required.

 

–EOF–

SQL Server 2005 cluster

1.DNS

在windows server 2003上,将dns的组件安装上。

 

2.安装DC

 

 

 

 

 

 

 

DC和DNS:192.168.56.109

Node1 public ip:192.168.56.110

Node2 public ip:192.168.56.111

cluster vip:192.168.56.112

 

3.安装.net framework 2.0

这个东西后续可能会需要,建议在添加组件的时候给添加上。

Continue reading “SQL Server 2005 cluster”

SQL Server 2005 database mirroring

1.大致的环境准备

三台服务器,角色分别是:principal,mirror,DC/DNSSQL Servermirror技术最好在MSdomain中进行,会避免很多不必要的麻烦,例如如下报错信息就是个很典型的问题,trouble shooting起来也足够喝一壶的了。

TCP://principal.bangel.com:5022 的数据库镜像连接错误 4 'An error occurred while receiving data: '64(指定的网络名不再可用。)'.'

 

1.1 principal server

sqlserver01.bangel.com

192.168.56.114

sqlserver实例:sql01

 

1.2 mirror server

sqlserver02.bangel.com

192.168.56.117

sqlserver实例:sql02

 

 

 

1.3 domain and DNS

dc.bangel.com

192.168.56.109

创建一个域用户,用于安装、管理两个sqlserver实例,名称为sqlmirror,此用户隶属于每个服务器本地的administrators组里面,使得每个server上的sqlserver各种服务登录用户都是这个域用户bangelsqlmirror

 

1.4 关于witness server

这里没有用到witness server,没打算做“自动failover”,如果你需要“自动failover”的功能,需要配置witness server。这里仅仅计划使用“手工的failover

 

2.principal server的准备

使用bangelsqlmirror这个domain user登陆主机,安装SQL Server 2005并将补丁打到SP4。数据库的实例名称命名为:sql01,相关的服务使用的验证是“混合模式”。

 

 

 

 

 

3.mirror server的准备

mirror server的准备与principal server如出一辙,不赘述。sqlserver的实例名称为:sql02

 

4.使用图形化配置mirror

这文档的特点就是“图形化”,文本方式的配置可以参考msdn的文档,但个人觉得msdn的文档写得不太容易阅读。

 

4.1 备份principal database

principal服务器上,备份需要被做镜像,被同步的源端database

右键点击源端数据库,“任务”–>“备份”。备份类型选择“完整”,然后将备份出来的介质(通常是.bak文件)拷贝至mirror server上,等待还原使用。

 

4.2 还原

mirror server上新建一个database,名称与principal上的源端数据库名称一致(这里是testdb),然后静等稍后的还原。

还原的时候大部分都是默认设置,唯一需要注意“RESTORE WITH NORECOVERY”和“覆盖现有数据库”

 

 

 

点击确定之后,mirror server上正在还原的数据库会一致处在“正在还原”的状态,一直。。尽管对话框可能显示“还原已经完成”,没关系,不用搭理它,它这是等着后续被“镜像”呢。

 

Continue reading “SQL Server 2005 database mirroring”