如何把SQLServer数据库从高版本降级到低版本
编写人:CC阿爸
2015-4-7
近期在给一个客户推行ECM系统时,基本客户的硬件环境,我们为其安装的为SQL2008 64位的数据库系统。在安装时一切顺利。但在恢复我们初始化数据库就遇到问题了。
今天在这里,我想与大家一起分享如何把SQLServer数据库从高版本降级到低版本,在此做个小结,以供参考。有兴趣的同学,可以一同探讨与学习一下,否则就略过吧。
1、 首先给大家看看恢复备份时遇到的问题
这样一看,就知道问题了,原来我们的数据库是2008R2 ,比SQL2008 版本高一个版本。
从运行版本10.50.2500(2008R2是10.50)和10.00.1600(2008是10.00)中可以看出这个版本不兼容问题,大部分情况下,从低版本升级到高版本,只要不是跨度太大,如2000升级到2012,都不会怎么报错。除非使用了一些新版本不兼容的特性如*=来实现left join的语句。但是就像上图那样,从高版本还原到低版本的时候,问题就出现了,而且几乎一定会报错。
2、 下面给出几个小建议
1) 方法一:我们如果要让客户正常使用,最简单的办法当然就直接升级数据库为SQL 2008 R2即可,各,升级时,只需要选升级安装即可,其它不用做任何处理,该软件在群里很方便可以找到(推荐大家使用该方案)。
2) 方法二:另一种方法,我们可以从数据库中,导入相关SQL 脚本,在导出时选择SQL 2008 .
完成以上操作后,将导出的脚本在需要更新的服务器上运行即可。
3) 使用系统自带的存储过程实现:sp_dbcmptlevel ——将某些数据库行为设置为与指定的 SQL Server 版本兼容。(笔者不建议使用该方法,后续的版本中,该功能已删除)
3、有关更多的技术分享,大家可以加入我们的技术群。
欢迎加入技术分享群:238916811