Maison > Article > base de données > 只有mdf文件和ldf文件,怎么恢复数据库。
原来刚学数据库的时候,不知道数据库的备份和还原,就直接去拷贝数据库mdf和ldf文件,后来会了数据库的备份和还原,一直也就没有注意拷贝mdf和ldf带来的问题。 现在需要参考原来拷贝的代码和数据库(拷贝的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里新建个查询,执行下面代码;
<span>1</span> <span>USE</span><span> master; </span><span>2</span> <span>GO</span> <span>3</span> <span>CREATE</span> <span>DATABASE</span><span> NewFile </span><span>4</span> <span>ON</span> (FILENAME <span>=</span> <span>'</span><span>C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\File.mdf</span><span>'</span><span>), </span><span>5</span> (FILENAME <span>=</span> <span>'</span><span>C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\File_log.ldf</span><span>'</span><span>) </span><span>6</span> <span>FOR</span><span> ATTACH; </span><span>7</span> <span>GO</span>
3、刷新数据库,就出现了新的数据库NewFile;
根据mdf文件和ldf文件还原成功,就这么简单。我用的是sqlserver2008,2005是否可以,有待证明。