只有mdf文件和ldf文件,怎么恢复数据库。
原来刚学数据库的时候,不知道数据库的备份和还原,就直接去拷贝数据库mdf和ldf文件,后来会了数据库的备份和还原,一直也就没有注意拷贝mdf和ldf带来的问题。
现在需要参考原来拷贝的代码和数据库(拷贝的mdf和ldf文件),结果发现数据库还原不上了。我就在百度搜索,出来了不少相关网页,打开后发现基本都是一个相同解决方案,列出ABCDEFG或者12345几项去解决,可惜,不成功。那就继续搜索,幸好在微软的MSDN网站上找到了类似的文档,通过分离和附加来移动数据库。我是个菜鸟,不知道什么是分离、附加数据库,汗颜,粗略看了一下,似懂非懂,不过发现了附加移动的数据库就是通过mdf和ldf文件恢复(创建)数据库。我试了一下,居然一下成功,相当的简单。
1、把mdf文件和ldf文件拷贝到数据库的默认路径C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA里;
2、在sqlserver里新建个查询,执行下面代码;
1 USE master; 2 GO 3 CREATE DATABASE NewFile 4 ON (FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\File.mdf'), 5 (FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\File_log.ldf') 6 FOR ATTACH; 7 GO
3、刷新数据库,就出现了新的数据库NewFile;
根据mdf文件和ldf文件还原成功,就这么简单。我用的是sqlserver2008,2005是否可以,有待证明。