MSSQL2005,2000 恢复单个mdf文件

系统 2093 0

我把原来的数据库分离后,直接把日志文件给干掉了。原来在SQL 2000里经常这么干,只用一个mdf就附加了。没想到sql2005居然不行。我试验了一圈 终于找到一个成功的方法。转载,供后来者参考。
SQL2000 简单一些

1.创建数据库
2.覆盖
3. use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
 
update sysdatabases set status=-32768 where dbid=DB_ID('test')
 
dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')
dbcc checkdb('test')
sp_dboption 'test','dbo use only','false'
 
-----------------------------------------------------------------

SQL2005 如果mdf不存在任何错误可以使用这个方法:

CREATE DATABASE  TestDB   
ON    
(   
FILENAME 
= ' D:\TestDB.mdf '      
for  ATTACH_REBUILD_LOG


SQL2005 如何在没有日志文件的情况下如何恢复MDF数据库文件

第一步:先建立一个同名数据库,停止SQL SERVER2005,将没有日志的的.mdf数据库文件覆盖刚新建的.mdf数据库文件,重新启动数据库。

第三步:在查询分析器中运行如下代码:

alter database 数据库名 set emergency —将数据库设置为紧急状态

use master 

declare @databasename varchar(255) 

set @databasename=‘数据库名’ —你的.mdf文件文件名

exec sp_dboption @databasename, N’single‘, N’true’ —将目标数据库置为单用户状态 

dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS) 

dbcc checkdb(@databasename,REPAIR_REBUILD) 

exec sp_dboption @databasename, N’single‘, N’false’—将目标数据库置为多用户状态 


执行出现“数据库其他多个文件与数据库主文件不匹配….”错误,再执行一次即可。

MSSQL2005,2000 恢复单个mdf文件


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论