系统升级日记(1)- 升级到SQL Server 2012
最近一段时间在公司忙于将各类系统进行升级,其最主要的目标有两个,一个是将TFS2010升级到TFS2013,另外一个是将SharePoint 2010升级到SharePoint 2013。本记录旨在记录升级过程中的一般性准备工作及在升级中可能存在的各种坑的解决方案。本记录会大量引用外部文章来作为解释说明,并不是一个step by step的指引,本文章并不适合小白用户而适合具有一定IT管理经验的人阅读。另外本文也并不保证完全正确。
第一篇:SQL Server 2012的群集安装
1. 基本的拓扑结构描述
存储环境:
我司具有两个计算机机房,一个主机房和一个备机房,两个机房相隔40公里通过裸光纤连接,在8K数据包的情况下裸光纤的延迟在4毫秒。对存储本身进行了群集,当往主机房存储写入的时候会实时同步到备份机房。
云环境:
办公网使用Windows Server 2012 Hyper-V搭建了云服务,Hyper-V本身做了群集,虚拟机放在存储上,这样可以保证虚拟机在几十秒内能够从主机房移动到备机房。
整个网络以高可用性为主,以保证在遇到主机房完全损毁时可以无损的迁移到备机房。
2. 现在的SQL Server 2008 R2环境
现在的SQL Server 2008 R2放于一台相对强悍的物理服务器上,并且未作群集,上面承载了所有SharePoint站点数据库、TFS数据库及其它几个小型业务系统数据库。
3. 升级所要考虑的问题
环境:
Windows Server 2012 R2 + SQL Server 2012
高可用性:
考虑到原先在一台物理服务器上,并且数据都存在本机磁盘上,可靠性太差。所以这次需要考虑高可用性方案,总结为两点:
- 建立双节点SQL Server 2012故障转移群集。
- 双节点SQL Server 2012服务器均做虚拟机。
- 主节点SQL Server虚拟机限制在主机房Hyper-V群集机器中漂移。
- 备节点SQL Server虚拟机限制在备机房Hyper-V群集机器中漂移。
- SQL Server的数据放在存储的单独卷上。
为什么选择故障转移群集?
对于SQL Server来说,提供了3种方式的高可用性,大致总结为:
1:镜像(Mirror),特点是存储为两份,主节点可读写,备节点不可读写。镜像实际上通过事务日志传递来实现两份数据同步。当主节点失效后,会立即启用备节点。Windows Server不需要做群集。从SQL Server 2005就开始支持,并且使用SQL Server标准版即可。关于此种方式更详细的介绍请参考:http://technet.microsoft.com/en-us/library/ms189852.aspx
2:Always on(AlwaysOn Failover Cluster Instances),特点是存储为两份,主节点可读写,备节点可读。Windows Server必须做群集。这个特性是SQL Server 2012才开始支持的。具体可以参考:http://technet.microsoft.com/en-us/library/ms189134.aspx
3:故障转移群集(Windows Server Failover Clustering with SQL Server):特点是存储为一份,主节点可读写,备节点不可读写,当主节点失效后会自动切换到备节点,而且此操作对于应用程序来说是透明的。Windows Server必须要做群集。具体的可以参 考:http://technet.microsoft.com/en-us/library/hh270278.aspx
考虑到我们的存储本身就是群集的,将数据存储两份有些浪费我们的存储资源,所以我们最终选择了第三种方案,也就是故障转移群集。
4. 故障转移群集需要注意的事项
- 要有共享磁盘,通常给3个共享磁盘,一个作为Windows Server群集的仲裁磁盘,一个作为MSDTC的磁盘,一个作为SQL Server的数据磁盘,当然SQL Server的数据磁盘你也可以给多个。
- Windows Server本身要先做群集,我们选择的Windows Server 2012 R2,在安装群集前,首先使用虚拟光千卡连好三个共享磁盘,然后还要注意是给每个虚拟机分配两块网卡,其中一块作为心跳线,另外一块作为正常的网络通信。安装Windows Server 2012 Failover Cluster可以参考这篇Blog:http://blogs.msdn.com/b/clustering/archive/2012/05/01/10299698.aspx
- Windows Server 2012 R2群集做完之后,要安装MSDTC并且加入群集,SQL Server 2012可以不安装MSDTC,而SQL Server 2008 R2及以下则必须安装,我根据习惯仍然安装了MSDTC。
- SQL Server安装时主节点要选择群集安装,备节点要选择添加到现有群集中。SQL Server群集的安装请参考:http://technet.microsoft.com/en-us/library/hh231721.aspx ,另外这里还有一篇图文并茂的安装步骤:http://www.sqlinstallation.com/sql-server-2012-cluster-step-step-installation-guide/
5. 就地升级问题
非SQL Server群集不能就地升级到SQL Server群集中,必须要重新安装。
6. 数据迁移
数据迁移非常简单,只要将原SQL Server 2008 R2的数据库backup之后,再restore回SQL Server 2012上即可。
总结:
相对而言,SQL Server的迁移过程是最简单的,SharePoint才是最折磨人的。当然下一节我会介绍TFS的迁移过程。
系统升级日记(1)- 升级到SQL Server 2012的更多相关文章
- SQL Server 2008 R2升级到SQL Server 2012 SP1
1.建议对生产环境对的数据库升级之前做好备份,以防不测. 2.从SQL Server 2008 R2 升级到SQL Server 2012 SP1,需要先安装SQL Server 2008 R2 的S ...
- 升级到SQL Server 2012/2014时一些需要考虑的事项
1. 使用Upgrade Adviser评估升级前需要解决的事情. https://msdn.microsoft.com/zh-cn/library/ms144256(v=sql.110).aspx ...
- SQL SERVER 2012 从Enterprise Evaluation Edtion 升级到 Standard Edtion SP1
案例背景:公司从意大利购买了一套中控系统,前期我也没有参与其中(包括安装.实施都是第三方),直到最近项目负责人告诉我:前期谈判以为是数据库的License费用包含在合同中,现在经过确认SQL Serv ...
- 吉特仓库管理系统-.SQL Server 2012 升级企业版
随着业务数据的不断增大,单表的数量已经上亿,查询的数据越来越慢,所以考虑到将数据库表分区,同时也将数据库升级到SQL Server 2012. 当时没有考虑更多,在服务器上安装了 SQL Server ...
- Sql Server 2008R2升级 Sql Server 2012 问题
环境: Windows server 2008 r2 Standard +SqlServer2008R2 内网环境需要升级为SQL server 2012 升级安装时提示版本不支持 网上查询相关问题 ...
- SQL Server 2012安装图文教程
解析SQL Server 2012安装中心 当系统打开"SQL Server安装中心",则说明我们可以开始正常的安装SQL Server 2012了. SQL Server安装中心 ...
- SQL Server 2012 安装图解教程
在安装微软最新数据库SQL Server 2012之前,编者先确定一下安装环境:Windonws 7 SP1,32位操作系统.CPU是2.1GHz赛扬双核T3500,内存2.93GB 安装SQL Se ...
- Win7 安装SQL SERVER 2012需要SP1补丁
在操作系统Win7上安装SQL Server 2012时,报如下错误: 也就是说SQL Server 2012如要要安装在Windows 7 上,则至少需要安装SP1补丁.否则就会弹出上面提示信息.关 ...
- Microsoft SQL Server 2012 数据库安装图解教程
本文部分引用以下文章: SQL Server 2012 安装图解教程(附sql2012下载地址)_MsSql_脚本之家 http://www.jb51.net/article/36049.htm SQ ...
随机推荐
- 【转】RHadoop实践系列之二:RHadoop安装与使用
RHadoop实践系列之二:RHadoop安装与使用 RHadoop实践系列文章,包含了R语言与Hadoop结合进行海量数据分析.Hadoop主要用来存储海量数据,R语言完成MapReduce 算法, ...
- c# 设置winform程序为默认打开软件 在运行中获取参数
1.右键→打开方式→选择默认程序→选择winform程序 2.修改Program.cs 判断注册的事件是否存在,如果不存在则运行实例,并把参数传入MainForm里,如果存在则把参数写到txt文件中, ...
- Linux下Awk详解(转载)
什么是Awk Awk是一种小巧的编程语言及命令行工具.(其名称得自于它的创始人Alfred Aho.Peter Weinberger 和 Brian Kernighan姓氏的首个字母).它非常适合服务 ...
- gvim的菜单乱码解决方法
gvim的菜单乱码解决方法: (乱码是由于系统内码不兼容导致,系统内码包括gb2312 gb18030 utf-8 utf-16[unicode]等) 生成文件 ~/.gvimrc 并添加如下语句:s ...
- 虚拟机centos6.5 --hadoop2.6集群环境搭建
一.环境说明 虚拟机:virtualBox 系统:centos6.5,64位 集群:3个节点 master 192.168.12.232 slave01 192.168.12.233 slave02 ...
- 内部类访问的局部变量必须加final
(1)内部类是外部类的一个成员,就像外部类的成员方法一样,所以内部类有权限访问外部类的所有成员,包括private的. (2)内部类不能访问外部类方法中的局部变量,除非变量是final的(一般发生在 ...
- WPF捕获未处理的异常
WPF程序中,对于异常的捕获一般使用try/catch块.就像程序中的bug一样,很难保证程序中所有的异常都能够通过try/catch捕获.如果异常没有被捕获,轻则影响用户体验,严重时会导致数据丢失 ...
- Hacker communities collection
Copy from E安全 Hack Forums: Hack Forums是目前最为理想的黑客技术学习根据地.该论坛不仅在设计上面向黑客群体,同时也适用于开发人员.博主.游戏开发者.程序员.图形设计 ...
- Stanford机器学习笔记-5.神经网络Neural Networks (part two)
5 Neural Networks (part two) content: 5 Neural Networks (part two) 5.1 cost function 5.2 Back Propag ...
- BZOJ2763[JLOI2011]飞行路线 [分层图最短路]
2763: [JLOI2011]飞行路线 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2523 Solved: 946[Submit][Statu ...