Sql server 2008及Sql server 2014无法直接还原Sql server 2000数据库的备份文件的解决办法

2017-08-13 19:36:00
zstmtony
原创
496

最近有客户需要将Access 数据库升迁到Sql server 2014, 由于Access 2003无法直接连接Sql server2008或Sql server2014

所以我就在自己电脑的Access 2003 或Access 2007 ,使用Access自带的升迁功能 先将Access数据库迁移到Sql server 2000

但Sql server 2000的备份文件,无法直接在Sql server2014还原。


经测试过 直接还原备份文件bak时行不通的。有2种方法来实现:


方法一:
如果电脑里安装了SQL2005或Sql server 2008的话,也可以先用SQL2005或Sql server 2008直接还原SQL2000的bak文件,然后在SQL2005或Sql Server 2008下备份后生成X.bak备份集,最后可以直接用SQL2008的SSMS还原,或者是附加数据库,附加方法同下面操作相同。


方法二:
1.如果没有就先将bak文件用sql2000还原后就在C:\Program Files\Microsoft SQL Server 下面的一个data文件里就有了。记得要同时考出两个文件x.mdf和x.ldf。
2,将文件的属性取消只读属性,然后确定。
3,打开SSMS后连接好服务器,然后附加数据库,选中mdf文件,记得mdf文件必须和ldf文件放在同一个位置,否则可能会失败。
4,最后一步就是点确定执行,只要没有报错就是成功了,重启电脑后打开ssms看见数据库里多了个刚还原的数据库。



注意:

1.Sql server 2014 无法使用方法二来 实现(Sql server 2008可能可以,未去测试了)

2.Sql server 2014 要还原Sql server2000的数据库,必须通过 Sql server 2005 或 Sql server 2008做中介,先转一次,再备份,再到Sql server 2014上面还原。

3.将sql server2000的备份数据还原到sql server 2008中关键是一定不要建立一个新的数据库文件(还原会出错),而是直接还原的时候在目标数据库处给待还原的数据库起个名字就可以了!

4.直接将sqlserver2000的备份还原到sqlserver2014是不行的,你需要一个sqlserver2008来做中转。
    将sqlserver2000的数据还原到sqlserver2008,再将sqlserver2008的备份还原到sqlserver2014。
    2008到2014,操作和2000到2008一样,只是使用的bak文件不同。

分享