系统升级日记(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 ...
随机推荐
- asp.net服务器控件onclick带参数
服务器控件处理参数随笔 正确: <asp:CheckBox ID="cbComplareProduct" runat="server" Text=&quo ...
- 让HTML页面缩放适应移动客户端尺寸
多的不说了,直接看代码吧 <html lang="en"> <head> <meta http-equiv = "X-UA-Compatib ...
- subversion-1.8.5 windows install dist
python build\win32\make_dist.py subversion-1.8.5 d:/rapm
- oracle--trunc与to_char的区别
trunc取得是天(可比较),而to_char取得是数值(可计算): 但trunc(date) 具有与to_char(date) 相似的功能,但有区别: trunc(sysdate,'cc') ...
- 磁盘配额-----quota
为什么要使用磁盘配额:为了限制普通用户使用普通磁盘的空间与创建文件的个数等. 不至于个别人的浪费影响所有人的使用. 需要安装quota的软件包. mount -o usrquota,grpquota ...
- 客户访问站点将bbs/链接 跳转至forum/链接下的两种方式
显性 302 暂时重定向跳转 server { listen 80 ; server_name localhost; index index.html index.htm index.php; roo ...
- MMORPG大型游戏设计与开发(客户端架构 part11 of vegine)
从早年的无声电影到现在的逼真3D大片,人类在科技上可谓是一再突破.不知道有没有人经历过那无声的日子,没有声音的世界,咱们的耳朵也就失去了它本有的用途了.在游戏世界中,声音元素成了必不可少的一部分,一个 ...
- NOIP2010提高组 机器翻译 -SilverN
/**/ #include<iostream> #include<cstdio> #include<cmath> #include<cstring> # ...
- WinCE项目应用之虚拟仪器(VI)
虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试.测量和自动化的应用.虚拟测量仪器(VI)概念由美国国家仪器公司NI(National Instruments)提出,并引发了传 ...
- 《你不常用的c#之二》:略谈GCHandle
我们在使用c#托管代码时,内存地址和GC回收那不是我们关心的,CLR已经给我们暗箱操作.但是如果我们在c#中调用了一个非托管代码,比如vc的DLL,而且他有个回调函数,需要引用c#中的某个对象并操作, ...