只有一个mdf文件 SQL2005 如何回复数据库,欢迎大家进来讨论 200arrow_gx]

发布时间:2016-12-11 2:32:15 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"只有一个mdf文件 SQL2005 如何回复数据库,欢迎大家进来讨论 200arrow_gx]",主要涉及到只有一个mdf文件 SQL2005 如何回复数据库,欢迎大家进来讨论 200arrow_gx]方面的内容,对于只有一个mdf文件 SQL2005 如何回复数据库,欢迎大家进来讨论 200arrow_gx]感兴趣的同学可以参考一下。

只有一个mdf文件 SQL2005 如何回复数据库,欢迎大家进来讨论 我试了很久,都没有成功,难道 ldf 文件坏了,数据库就完蛋了吗? 我想不应该如此的,肯定会有办法的,只是还没找到而已

TRY: ———————————————————————————————————————————————————————— 恢复方法: 1、停止数据库服务。 2、将需要恢复的数据库文件复制到另外的位置。 3、启动数据库服务。 4、确认要恢复的数据库文件已经成功复制到另外的位置,然后在SQL Server Management Studio中删除要恢复的数据库。 5、新建同名的数据库(数据库文件名也要相同)。 6、停止数据库服务。 7、用第2步中备份的.mdf文件覆盖新数据库的同名文件。 8、启动数据库服务。 9、运行alter database dbname set emergency,将数据库设置为emergency mode 10、运行下面的命令以恢复数据库: use master  declare @databasename varchar(255)  set @databasename='要恢复的数据库名称'  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'--将目标数据库置为多用户状态 

消息 5120,级别 16,状态 101,第 1 行 无法打开物理文件 "D:\data2005\discuz.mdf"。操作系统错误 5:"5(拒绝访问。)"。 消息 945,级别 14,状态 2,第 1 行 由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库 'discuz'。有关详细信息,请参阅 SQL Server 错误日志。 不行,这是 sql2000 的方法,在 sql2005 上出错的

因为要在服务器上新加一个表,于是在自己本机的测试数据库中将一个表生成SQL脚本时,不小心点选   中所有的表,然后到服务器上的查询分析器中执行,结果覆盖了原来的表,现在想把原来的表和数据都恢复,不知道可不可行?  原来的数据是没有任何备份的,现在只有LDF和MDF两个文件,不知道覆盖后这两个文件被修改没有,  现在我在网上查到可以用LOG-EXPLORER软件来恢复;但是恢复后的表的数据都比原来少了很多,比如原来有几万条数据,但是现在只有几千条了,请教各位这是怎么回事?另外还有其他恢复的办法吗? 

只有MDF文件是可以的,利用1楼的方法试下 原来的数据是没有任何备份的,现在只有LDF和MDF两个文件,不知道覆盖后这两个文件被修改没有, ---------------------------------------------------------------------------- 应该是已经修改了

接分.

1 楼的 方法是 sql2000 的,我按照方法一步一步做,在 sql2005 下会出错,出错信息楼上我已经贴出来了,网络上看到很多方法,但是经过实际测试,还没有任何一个方法可行,都会报错,难道 sql2000 下这么容易的事情,到了 sql2005 就没办法解决了吗? ldf 文件损坏 或者 丢失,难道整个数据库就这么完了 ??? 按照我的理解,数据应该是存在 mdf 里面的,但是就是没有办法能够回复数据库,郁闷的问题,早知道这样,用 sql2000 还好 这个问题真的没有办法解决了吗 ?? 我不信,但是没办法,无奈啊,高手进来啊

好贴收藏

exec sp_attach_single_file_db 'servername','*.mdf'

有时直接附加sql会自动创建,不是所有的都好使

我在 Sql Server 2005 的 Management Studio 里面把一个数据库分离了, 然后把ldf文件删了,接着把mdf文件剪贴复制几次,然后把他改了个名字, 接着我附加那个改了名字的数据库,结果下面提示找不到文件, 我把ldf文件的那个信息删了,然后将mdf文件的路径改成现在的路径和名字, 确定... 等了一会,附加成功了! 接下来把这个刚附加的数据库直接删除了,然后附加另一个没改名字的, 也是提示ldf文件找不到,把那条信息删了以后同样附加成功了! 不明白为什么单个mdf文件为什么附加就没出什么问题呢?我可是一句代码都没写,纯鼠标操作的 难度LZ的mdf文件其实已经损坏了,LS钻钻的解决方案其实已经很能详细的告诉了步骤,从理论上来说经过了那些操作数据库还不能恢复那肯定就是坏了,不能恢复了

纯粹研究而已,呵呵,用测试数据库进行研究的 郁闷啊,第一次的确是数据库 mdf 坏掉了,我弄了一天都没弄出来,刚才从备份数据库导一个数据库过来进行测试,上面几位说的方法都可以恢复数据库,,呵呵,我还以为 sql2005 的机制改变了呢,不过这也好,能和大家交流也不错,散分

解决了就好

SQL Server向上兼容

企业管理器直接附加.. 注:附加时注意把显示无效日志位置删了 或用 语句附加只需要指定数据库文件

上一篇:一个存储过程的问题! 20yangdingyu8686]
下一篇:数据库的服务代理的问题,怎么没有效果呢? 50zhangchen124]

相关文章

相关评论