背景


最近接手很多项目都跟数据库升级有关。感触还是颇深,写个心得,供大家参考,如果有疑问欢迎留言。
 
 

为什么升级?

 
你可能会因为各种各样的原因选择升级。我认为原因主要是3个方面
1.旧版本使用中遇到问题
性能问题,高可用问题,灾备问题等。当然升级并不一定能解决这些问题.
2.微软官方逐渐减少对旧版本的支持
2005 将于2016 年4月结束
3.新版本的独特功能
2012的 ALWAYS ON ,2014的内存优化表等
 

升级到哪个版本好?

 
首先,版本不是越新越好,适合自己的就是最好的。建议根据上面提到的升级的原因和需要什么样的功能来决定。
 

已知升级问题

 

1.支持的版本升级

升级前的数据库版本 ,

升级后的数据库版本 。
然后根据微软官方给出的列表来对应确认我们决定是否可以直接升级。
比如SQL 2000 就不能直接升级到 SQL 2012.如果满足直接升级就没什么问题。
 

2.数据库引擎的向后兼容性

 
1.不推荐使用的功能
2.废止的数据库功能
3.功能的重大更改
4.功能的行为更改
此处比较重要。尤其是2,3,。
 

升级的方式有哪些?

 

分为原地升级和并行升级。

1,原地升级(in-place):安装进程覆盖以前版本的sql server程序文件,但保留以前的sql server实例中存储的所有用户数据,使DBA在执行升级的过程中不必转移或恢复现有的用户数据库。在升级之前,应当备份所有的sql server数据库以及以前的sql server实例关联的其它对象,此外,联机丛书不会升级。

2,并行升级(side by side):需要事先在新的服务器环境安装一个升级后的数据库版本,然后手动将升级前的数据库转移到新版本的SQL SERVER 中。这个方法可以让新旧环境同时存在,从而最小化sql server环境的停机时间.

在并行迁移过程中,有很多种方法将数据库从一个sql server实例转移到另一个sql server实例:分离/附加方法,备份/还原方法,复制数据库向导,结合数据导入/导出的手动架构重建,发布订阅,Logshiping ,镜像等

这么多方式到底应该选择哪种呢?后续我会详细对比。
 
 

 总结

 
在看完前面的几个问题后,你应该对数据库升级已经有了一个整体的思路。根据这些信息,制定一个完整的计划,以减少升级的分析和变数,使得升级更顺畅。升级成功后也一定要经过应用程序和兼容性测试。同时制定一个失败应急计划,如果直接升级失败也可以马上恢复数据库,不影响线上业务。不管升级环境简单或复杂,分析升级需求是相当重要的步骤。这通常包含SQL SERVER 软硬件需求,版本,兼容性等问题
 
 
 
 
 
 

SQL SERVER数据库升级手册的更多相关文章

  1. sql server 数据库安装手册

    1. 双击setup.exe运行安装程序,进入[SQL Server 安装中心] 2. 选择左侧菜单栏[安装],运行第一项[全新安装或向现有安装添加功能] 3. 进入[SQL Server 2008 ...

  2. SQL server 数据库升级版本问题解决办法

    在升级或安装数据库的时候,会遇到数据库版本不对的问题,无论怎么升级,升级提示成功了,但打开数据库发现还是原来那个版本.甚至出现重装数据库之后,登陆页面已经提示安装的是新版本了,但登陆进去之后,发现数据 ...

  3. 转载 50种方法优化SQL Server数据库查询

    原文地址 http://www.cnblogs.com/zhycyq/articles/2636748.html 50种方法优化SQL Server数据库查询 查询速度慢的原因很多,常见如下几种: 1 ...

  4. .NET跨平台之旅:升级至ASP.NET 5 RC1,Linux上访问SQL Server数据库

    今天微软正式发布了ASP.NET 5 RC1(详见Announcing ASP.NET 5 Release Candidate 1),.NET跨平台迈出了关键一步. 紧跟这次RC1的发布,我们成功地将 ...

  5. 如何彻底的卸载sql server数据库

    如何彻底的卸载sql server数据库    好不容易装上了sql server 2012数据库,可是却不能连接本地的数据库,后来发现缺少一些服务,于是决定重新安装,但是卸载却很麻烦,如果卸载不干净 ...

  6. 【转】SQL Server 数据库内部版本号

    -----------数据库还原或版本升级出现版本错误时可参考. Internal SQL Server Database Version Numbers A database created by ...

  7. 优化SQL Server数据库查询方法

    SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列 ...

  8. Microsoft SQL Server 数据库 错误号大全

    panchzh :Microsoft SQL Server 数据库 错误号大全0 操作成功完成. 1 功能错误. 2 系统找不到指定的文件. 3 系统找不到指定的路径. 4 系统无法打开文件. 5 拒 ...

  9. C# 连接SQL Server数据库的几种方式--server+data source等方式

    如何使用Connection对象连接数据库? 对于不同的.NET数据提供者,ADO.NET采用不同的Connection对象连接数据库.这些Connection对象为我们屏蔽了具体的实现细节,并提供了 ...

随机推荐

  1. Quick and Easy Installation of Oracle Database 12c on Oracle Linux in Oracle VM VirtualBox

    发贴人 Sergio-Oracle 于2018-4-18 23:10:15在Oracle Linux Introduction How Does This Work? Requirements Bef ...

  2. mySQL 约束 (Constraints)

    约束用于限制加入表的数据的类型: 1.创建表时规定约束(通过 CREATE TABLE 语句) 2.表创建之后也可以(通过 ALTER TABLE 语句). 约束类型: NOT NULL(非空) UN ...

  3. sql语句查询月份的数据

    在实际项目中,经常需要按月查询数据,在这里把我用到的sql整理一下,以便日后查看. 例如,查询当月的数据 ),addtime,)),) 查询结果: 查询上月的数据,需要用另一个sql函数,datead ...

  4. SDN 第四次上机作业

    1.建立以下拓扑,并连接上ODL控制器. 2.利用ODL下发流表,使得h3在10s内ping不通h1,10s后恢复. 3.借助Postman通过ODL的北向接口下发流表,再利用ODL北向接口查看已下发 ...

  5. 聊聊MySQL的子查询

    1. 背景 在之前介绍MySQL执行计划的博文中已经谈及了一些关于子查询相关的执行计划与优化.本文将重点介绍MySQL中与子查询相关的内容,设计子查询优化策略,包含半连接子查询的优化与非半连接子查询的 ...

  6. 3.HBase In Action 第一章-HBase简介(1.1.1 大数据你好呀)

    Let's take a closer look at the term Big Data. To be honest, it's become something of a loaded term, ...

  7. 【转】通过blob获取图像并显示

    HTML代码: <div id="forAppend" class="demo"></div> JS代码: var eleAppend ...

  8. python requests 简单实现易班登录,自动点赞,评论,发表

    小编能力有限,本文纯属瞎编,如有雷同,你去打辅导员涩 一.前戏 有个操蛋,操蛋,操蛋的辅导员促使小编成长,原因:易班需要活跃度,辅导员安排班上每个人必须去易班上 写文章,写评论,发投票...  我觉得 ...

  9. Beautiful Soup (一)

    一.Beautiful Soup库的理解 1.Beautiful Soup库可以说是对HTML进行解析.遍历.维护“标签树”的功能库 2.pip install bs4 3.from bs4 impo ...

  10. C++之new和delete操作符

    在C语言中的动态分配和释放内存的函数是malloc calloc 和 free , 而在C++中要用 new new[] delete delete[] 来申请动态空间和释放空间. 注意:的是new. ...