首页 > 代码库 > 还原附加数据库

还原附加数据库

    数据库的还原我想各位肯定都经历过,但是昨天我在还原的过程中还是遇到了一些小麻烦,在此记录下过程以及解决的方法,既可以提醒我,也可以给以后的观者一点建议!

    我的数据库源呢是从SQL Server2005上备份下来的,在我本机SQL Server2005上进行还原的。但是还原时出现了如下的错误。

技术分享


我心想还原不行那附加呢?结果附加还是错误!

技术分享

    

    这就怪了,两边都是SQL Server 2005怎么会报这个错误呢?上网查找资料,请教大神,得出的结论就是‘高版本向低版本附加还原时会出现这种错误!’。我电脑上不止一个SQL 实例?恍然,原来如此,我电脑上装了一个SQL Server2000和SQL Server2005!!而且实例名竟然是一样的!!搞不懂,那附加时肯定是附加到了2000上了才会报这个错误的!既然问题找到了,那就找解决方法吧,网上这块的资料不是很多,最多的就是 脚本+导入数据,但是我没测试过,不知道结果怎么样。那我是怎么解决的呢?最笨的方法咯 —— 删除,重装!哈哈,当然了,这次我没有装05的,装了一个08的。

    删删装装,搞了好久才把2008给装上,兴高采烈的继续还原,结果。。。。。

技术分享


    连登录都登录不上!傻眼了。。。这坑还真不是一般的多。哎,没办法,兵来将挡,查看SQL 服务有没有启动,后又再SQL Server 配置管理器中修改了TCP/IP属性,重新启动服务,再次登录,OK!

    心想这次应该可以还原了吧~但是呢,错误继续!!这时真想把电脑给砸了,呵呵。还原时报的错误是 ‘System.Data.SqlClient.SqlError: 媒体集有 2 个媒体簇,但只提供了 1 个。必须提供所有成员。’纳尼?备份文件不应该有问题啊。等等,貌似我备份时改了备份路径又没有删除原有的默认路径,结果导致备份的文件成了两份,而我只拷贝了其中一份!原来如此,这是我自己挖的坑啊~算了吧,既然还原不行,那就附加吧,还好有附加文件。OK,大功告成,附加成功。

    原本以为很简单的一个备份还原数据库的过程结果却花费了我大量的时间,教训狠深!反思下,这当中需要注意的有两点:

    1:在安装SQL 时,需要注意安装的实例名,如果有多个SQL ,实例名不能重复。

  2 :高版本的数据库不能在低版本的数据库上进行还原(2000的是这样,不知道其他版本是不是的。)

    3:备份数据库时需要注意,不能把数据备份在了两个路径中而只拷贝了其中一份!如果你不想用备份的原始路径,那么就需要删除原有默认的路径,自己定义备份路径,要么你就用默认路径!

    OK,说到底还是自己的问题,自己挖坑自己填吧~



本文出自 “小强” 博客,请务必保留此出处http://shangping.blog.51cto.com/4479537/1597993

还原附加数据库