| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2478 人关注过本帖
标题:SQL2000数据库的事务文件(.LDF)被删除,如何恢复数据库?
只看楼主 加入收藏
lctong
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-11-29
收藏
 问题点数:0 回复次数:4 
SQL2000数据库的事务文件(.LDF)被删除,如何恢复数据库?

SQL2000数据库的事务文件(.LDF)被删除,数据文件(.MDF)还在,如何恢复数据库?请帮帮忙。。。


搜索更多相关主题的帖子: 事务文件 数据库 LDF 删除 MDF 
2007-02-16 12:15
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
收藏
得分:0 

如果数据文件是本机的可以直接附加数据文件,系统会重新创建一个日志文件.


如果数据文件不是本机的用下面的方法.
恢复只含mdf的数据库方法

日志文件丢失下的数据库恢复


sysdatabases
status=32768 (emergency mode)

打开系统表的操作权限
USE master
EXEC sp_configure 'show advanced option', '1'

纪录数据库原状态
select status from sysdatabases where name = 'crashdb'
status
-----------
16

(所影响的行数为 1 行)

将数据库置为紧急状态
update sysdatabases set status = 32768 where name = 'crashdb'
将数据库置回原状态
update sysdatabases set status = 16 where name = 'crashdb'
(可省略)

新建一数据库,使用DTS的在 SQL Server 实例之间传输数据库对象功能敬爱能够将原数据库的所有数据库对象、数据及相关权限复制到新数据库中

将原数据库删除,并将新建数据库重命名为原数据库的名,此时除在日志中为应用到数据库中的事务丢失外其他数据均已恢复。

[此贴子已经被作者于2007-2-16 12:22:45编辑过]


26403021 sql群 博客 blog./user15/81152/index.shtml
2007-02-16 12:21
lctong
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-11-29
收藏
得分:0 

你楼主的方法不得啊,还有其它方法吗?


耐心和恒心总会得到报酬的。
2007-02-16 16:45
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 

在企业管理器中 我用的是英文版 用attch database,中文版名字大概叫 附加数据库 然后会让你选择mdf文件

或者在查询分析器里使用 sp_attach_single_file_db 存储过程


sp_attach_single_file_db
将只有一个数据文件的数据库附加到当前服务器。

语法
sp_attach_single_file_db [ @dbname = ] 'dbname'
, [ @physname = ] 'physical_name'

参数
[@dbname =] 'dbname'

要附加到服务器的数据库的名称。dbname 的数据类型为 sysname,默认值为 NULL。

[@physname =] 'phsyical_name'

据库文件的物理名称,包括数路径。physical_name 的数据类型为 nvarchar(260),默认值为 NULL。

返回代码值
0(成功)或 1(失败)

结果集

注释
当使用 sp_attach_single_file_db 将数据库附加到服务器时,它创建一个新的日志文件并执行额外的清除工作,从新附加的数据库中删除复制。

仅对使用显式 sp_detach_db 操作从服务器分离的数据库执行 sp_attach_single_file_db。

仅对具有单个日志文件的数据库使用 sp_attach_single_file_db。不要对具有多个日志文件的数据库使用此存储过程。

权限
只有 sysadmin 和 dbcreator 固定服务器角色的成员才能执行本过程。

示例
下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。

EXEC sp_detach_db @dbname = 'pubs'
EXEC sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'


2007-02-16 17:01
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
收藏
得分:0 
楼上的方法只能是自己所在服务器的数据库才行吧
第二种方法不可能不对啊,我自己曾经做过实验啊,你是不是没用dts导啊

26403021 sql群 博客 blog./user15/81152/index.shtml
2007-02-16 17:39
快速回复:SQL2000数据库的事务文件(.LDF)被删除,如何恢复数据库?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024312 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved