一个冷门的需求,需要把A机上的SQL2012版本数据还原到B机上的SQL2005版本上。折腾了大半天,记录一下。

前言

众所周知,微软的软件设计方案基本上都是新版本兼容旧版本(看心情),旧版本不兼容新版本。

需求

要实现的功能是把SQL2012的数据库(A机)备份还原到SQL2005(B机),本文数据库名字为mts。

实现步骤

1、首先把要把A机(SQL2012)中要备份的数据库设置为兼容 SQL Server 2005(90)。
右键SQL2012中的数据库mts-属性-选项 看到如下图:

属性-选项

2、右键数据库mts-任务-生成脚本,一直下一步直到下图,点【高级】选项。把【服务器版脚本】改成你要降级的那个版本 也就是【SQL Server 2005】。把【要编写的脚本的数据的类型】改成你需要保留的数据的类型,本处需要全部数据,选择【架构和数据】。确定完成后会生成一个【script.sql】脚本文件。

任务-生成脚本

服务器版脚本

要编写的脚本的数据的类型

3、下一步要把A机(SQL Server2012)里对应的源数据库文件复制到B机上。如果无法复制,请先【停止】A机SQL Server服务。找到SQL2012数据库在A机电脑中的位置。 可以右键【数据库】-【文件】会有路径,复制出这两个文件来。至此A机(SQL Server2012)的电脑操作完成。

源数据库文件

4、把上面得到的【script.sql】文件和两个数据源文件复制到B机(SQL2005)所在的电脑中。在B机(SQL2005)中【新建数据库】-mts。然后新建查询,把【script.sql】拖进去,会看到代码。

script.sql

注意红框部分。此时显示的数据库文件位置是B机的位置。需要把这两个地址改为从A机中复制过来的那两个源数据库文件的位置。然后执行,即可在B机里的对应数据库mts里看到相应的数据。完成降级。

【本文参考《百度知道里的一个回答》,做了些修订。】

标签: sqlserver, 降级, sql2012, sql2005

已有 8 条评论

  1. 这样看来其实微软功能方面考虑得很细致,并不强迫使用新产品,还是挺良心的

    1. 并不总是。特别是体现在WM手机操作系统上。😉

  2. 高级

  3. wys wys

    access玩过一阵,后来网站换php就再不用了,😎

    1. access还是早些年虚拟主机的标配😎

  4. 讲真,我对SQL Server和Oracle有非常大的阴影。SQL Server是在大学时教学上用的,还有一个专门为Asp服务的Access数据库,都是装多少遍都可能会出问题的,至于Oracle,那分什么11G,12G的,我到现在都是懵,安装一些系统集成软件,一般都是用人家软件自带的Oracle,根本不敢自己单独装。😂😂😂

    1. SQL Server还好。Oracle有点阴影~😁

评论已关闭