背景


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

为什么升级?

 
你可能会因为各种各样的原因选择升级。我认为原因主要是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. pong game using ncurses

    bounce2d2.c /* * bounce2d 1.0 * bounce a character (default is 'o') around the screen * defined by s ...

  2. 如何让VB6代码编辑器垂直滚动条随鼠标滚轮滚动

    VB6毕竟是很老的产品了,它的代码编辑器垂直滚动条并不能随鼠标的滚轮而滚动,这个问题会让我们在编写代码的时候觉得很不方便,不过还是有一种方法可以解决这个问题的.    先下载一个微软发布的“VB6ID ...

  3. MyEclipse总是quick update解决办法

    这个问题的解决办法是关闭自动更新 1. Windows > Preferences > MyEclipse> Community Essentials, 把选项 "Sear ...

  4. linux 静态地址配置选项

    最近使用静态地址配置linux, 配置的时候突然不知道配置选项具体内容了,这里面记录一下配置:适用于 ipv4 网络 [root@dhcp-- ~]# cat /etc/sysconfig/netwo ...

  5. wordpress靶机快速搭建

    一.什么是Wordpres? WordPress是一种使用PHP语言和MySQL数据库开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站.也可以把 WordPress当 ...

  6. Beta阶段总结博客

    Beta阶段的规划 1.完善并做完阿尔法版本 2.美化界面 3.规格化GIt的使用 4.新增登录注册功能 5.与服务器端有了交互,实现了前后端的对接 6.增加了一些特效 7.每个人分了模块并且最后对于 ...

  7. PyQt5--QColorDiaglog

    # -*- coding:utf-8 -*- ''' Created on Sep 17, 2018 @author: SaShuangYiBing Comment: ''' import sys f ...

  8. php 导出导入excel

    首先需要去官网https://github.com/PHPOffice/PHPExcel/下载PHPExcel,下载后只需要Classes目录下的文件即可. 链接: https://pan.baidu ...

  9. CSS做一个Switch开关

    本文为博主原创,转载请注明出处. Switch开关: 根据需求可知,Switch开关只有两种选择,true或false.所以我们想到HTML的checkbox控件,用它来做. <input id ...

  10. android 自定义listview无法响应点击事件OnItemClickListener

    如果你的自定义ListViewItem中有Button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是它能获取Focus,也就是说我 ...