如何把高版本的sqlserver 还原到低版本的 sqlserver

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把高版本的sqlserver 还原到低版本的 sqlserver相关的知识,希望对你有一定的参考价值。

本例为sql2012 还原到sql2008。

要实现的功能是把sql2012的数据库备份到sql2008,数据库名字为Test,并且这两个数据库在不同的电脑中。

微软的软件设计方案基本上都是新版本兼容旧版本,旧版本不兼容新版本

步骤如下:

1、首先把要把sql2012中要备份的数据库设置为兼容2008。

右键sql2012中的数据库Test-属性-选项  看到如下图:


2、右键Test-任务-生成脚本,下一步-下一步到达下图,点【高级】选项。把【script for sql  version】改成你要降级的那个版本 也就是【sql2008】。确定完成即可。会生成一个【script.sql】脚本文件。


3、下一步要把sqlserver2012源文件复制到另外一个电脑上。由于SqlServer正在运行是无法复制的。所以首先要【停止】sqlserver服务。


4、找到sql2012数据库在电脑中的位置。 右键【数据库】-【文件】会有路径,复制出这两个文件来。 至此sqlserver2012的电脑操作完成。


5、把上面得到的【script.sql】文件和两个数据源文件复制到sql2008所在的电脑中。在sql2008中【新建】-【查询管理器】。把【script.sql】拖进去,会看到代码。


注意绿色部分。此时显示的数据库文件位置是sql2012电脑的位置。需要把这两个地址改为 sql2008 中 复制过来的那两个源文件的地址即可。按【F5】键执行,即可完成数据库从SQL2012到SQL2008的降级。

参考技术A 使用备份、还原,肯定不行。
可以通过在高版本的SSMS中,联接后,创建链接服务器,把数据导到旧版本中。

也可以直接使用导入导出的方法处理。本回答被提问者采纳
参考技术B

sqlserver可以向下兼容, 一般低版本还原不了高版本的数据文件.

但是可以生成脚本 ,然后在低版本上面执行. 例入SqlServer2008 R2 中,选中相应的数据库

任务-->生成脚本

当然如果版本相差太多,比如SqlServer2000和SqlServer2012那么在存储过程和视图函数上语法会有不同, 执行脚本也会报错

参考技术C

用用导入导出的功能吧。 这个方法关键是如何确保保留原有表结构的主键、外键等 分两个情况,对于数据库数据量小的,可以很方便的解决

 

    小数据的情况

 

     先在低版本的服务器上建立同名的数据库。

     在高版本的服务器上右键点击目标数据库->任务->生成脚本

    在选择对象->选择特定数据库对象

    选择表、视图、存储过程,然后下一步

    关键在这,这一步里,请选择”高级“,选项里选择[编写DROP和Create脚本]项的”编写DROP和Create脚本“,以及[编写脚本和数据类型]项的“架构和数据"

    保存脚本

    在低版本的数据库下执行脚本即可。

 

    大数据情况 按理应该也可以通过类似包含架构和数据的方式来做,但是由于包含大数据的时候脚本文件太大,无法在分析器里执行,所以我们得绕一下。

 

    1~4步和a情况相同

    .这步我们选择”高级“,选项里选择[编写DROP和Create脚本]项的”编写DROP和Create脚本“,以及[编写脚本和数据类型]项的“架构"

    保存脚本

    在低版本的数据下执行脚本,注意(ALTER TABLE 表名 WITH CHECK ADD CONSTRAINT [外键名] FOREIGN KEY(字段) REFERENCES 表名(字段))这个先不要执行。

     现在可以通过导入导出任务先将表的内容导入到低版本的数据库内

    再执行脚本内(ALTER TABLE 表名 WITH CHECK ADD CONSTRAINT [外键名] FOREIGN KEY(字段) REFERENCES 表名(字段))这样的语句,此处将表的外键附加上。

    。。大功告成

数据迁移,iis的各种坑

最近在搞iis发布  本来在家里实验过很多次 都是可以的 觉得很容易!但是到客户现场去试的时候发现各种坑 在这里给大家说说  望大家注意点哈!

首先:数据迁移先是备份数据库,然后再还原  这个地方一定要注意数据库版本问题,比如你如果在sqlserver2012上备份的,到sqlserver2008版本上还原就不行,因为这是高版本还原到低版本了 就不兼容,但是低版本还原到高版本就可以!

第二步:还原好了数据库,vs代码要配置服务器了,也要注意个问题:因为vs配置的是sqlserver的sql认证账号(数据库里面有俩个身份验证(A),一个sql认证还有一个是windows认证),所以一定要登录sql认证账号登录,不然永远登录不上!

第三步:iis发布了(快捷键:win+r,输入inetmgr;如果本机上找不到iis,去网上找如何打开iis功能 很详细 我就不说了),最常见的俩个bug就是500.19和403.19

500.19的解决方案:

先看看是不是.netframework4.0安装的顺序导致没有安装,这个时候就要注册(怎么注册我也不说了,网上有,百度 如何注册.netframework4.0和.netframwork2.0)然后在程序池--》项目--》右键 高级设置 .netframework版本改成2.0

403.19的解决方案:

程序池下面的项目选中》目录浏览》打开功能》启用

以上是关于如何把高版本的sqlserver 还原到低版本的 sqlserver的主要内容,如果未能解决你的问题,请参考以下文章

如何把高版本的sqlserver 还原到低版本的 sqlserver(转载)

SqlServer高版本数据备份还原到低版本

如何把SQLServer数据库从高版本降级到低版本?

如何把SQLServer数据库从高版本降级到低版本?

如何把SQLServer数据库从高版本降级到低版本?

如何把SQLServer数据库从高版本降级到低版