系统升级日记(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 ...
随机推荐
- 元组tuple
tuple和list的主要区别就是tuple里的元素的是不能改变的,即tuple时immutable的 #创建tuple >>> tupa = (12 , 'ed' , 34) &g ...
- 未进入Kali Linux系统修改修改密码的方法
今天使用kali的时候,由于虚拟机太多,密码还不一样,就忘记kali的登录密码了(我就是鱼的记忆,只有七秒).... 1.重启kali,进入恢复系统,按e键进入编辑模式 2.光标移动到/boot/vm ...
- 绕过校园网的共享限制 win10搭建VPN服务器实现--从入门到放弃
一.开篇立论= =.. 上次说到博主在电脑上搭建了代理服务器来绕过天翼客户端的共享限制,然而经过实际测试还不够完美,所以本着生命不息,折腾不止的精神,我又开始研究搭建vpn服务器= =... (上次的 ...
- Can't load AMD 64-bit .dll on a IA 32-bit platform
主要谈谈在win8.1(64bit)下搭建环境的经历. 安装win8.1(64bit)后,配置java环境是费了我一番心思的,所以想记录下来,成为经验.64位系统下比较理想的配置应该是 64位jdk ...
- html之div拖拽,html5拖拽
html之div拖拽 http://www.w3school.com.cn/html5/html_5_draganddrop.asp
- 初探linux内核编程,参数传递以及模块间函数调用
一.前言 我们一起从3个小例子来体验一下linux内核编程.如下: 1.内核编程之hello world 2.模块参数传递 3.模块间 ...
- C++ 中 typename
声明template参数时, 前缀关键字class和typename可以互换; 使用关键字typename标识嵌套从属类型名称, 但不需在基类列表和成员初始化列表内使用. 从属名称(dependent ...
- 我了个大擦-PDO(二)
hi 昨天又213了,虽然有室友3点多才睡觉的客观影响,但是昨晚不想学东西是本质原因.今天搞起.打算3.4天之内,学完PDO和AJAX这两个,还望大家没事儿来骂骂我,免的我又偷懒. 1.PDO 二.P ...
- Unity官网教程之Tips
前言 翻译整理unity官网教程的tips部分,原文:http://unity3d.com/cn/learn/tutorials/topics/tips Snap 按住Ctrl键,并用鼠标拖动Game ...
- for循环与for循环嵌套
今天温习了下分支语句跟for循环,主要讲解了for循环嵌套,这里开始有点迷糊了,整理下思路在做练习 for循环嵌套用我自己的大白话来说就是一个外圈的for程序里面一个套着一个小的for程序,如果在范围 ...