SQL数据库
由MDF
数据文件
、LDF
日志文件
二个文件共同组成数据库的文件,缺一不可,没有MDF文件就是没有了数据文件,不能恢复,没有LDF文件就是没有了日志文件,也不能恢复。
B. 只有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
C. sql数据库丢失只有ldf文件请问有办法恢复吗
数据库文件损坏的时候利用日志恢复
1 建一个测试数据库test(数据库类型为完全)
2 建一个表,插入点记录
create table a(c1 varchar(2))
go
insert into a values('aa')
go
insert into a values('bb')
go
3 作完全备份,到文件test_1.bak
4 在作一点修改
insert into a values('cc')
go
create table b(c1 int)
go
insert into b values(1)
go
insert into b values(2)
go
5 shutdown 数据库服务器
6 用ultraedit编辑数据库文件test_data.mdf,随便修改点字节内容
7 启动数据库,并且运行企业管理器,点开数据库,看到test变成灰色,而且显示置
疑。
8 运行isql -SLocalhost -Usa -P
1> backup log test TO DISK='D:\Program Files\Microsoft SQL
Server\MSSQL\BACKUP\t
est_2.bak' WITH NO_TRUNCATE
2>go
已处理 2 页,这些页属于数据库 'test' 的文件 'TEST_Log'(位于文件 1 上)。
BACKUP LOG 操作成功地处理了 2 页,花费了 0.111 秒(0.087 MB/秒)。
9 进行恢复最老的完全备份
1> RESTORE DATABASE test FROM DISK='D:\Program Files\Microsoft SQL
Server\MSSQL\
BACKUP\test_1.bak' WITH NORECOVERY
2> go
已处理 96 页,这些页属于数据库 'test' 的文件 'TEST_Data'(位于文件 1 上)。
已处理 1 页,这些页属于数据库 'test' 的文件 'TEST_Log'(位于文件 1 上)。
RESTORE DATABASE 操作成功地处理了 97 页,花费了 0.107 秒(7.368 MB/秒)。
10 恢复最近的日志
1> RESTORE LOG test FROM DISK='D:\Program Files\Microsoft SQL
Server\MSSQL\BACKU
P\test_2.bak' WITH RECOVERY
2> go
已处理 2 页,这些页属于数据库 'test' 的文件 'TEST_Log'(位于文件 1 上)。
RESTORE LOG 操作成功地处理了 2 页,花费了 0.056 秒(0.173 MB/秒)。
数据已经完全恢复了,可以使用了。
select * from a
go
select * from b
go
c1
----
aa
bb
cc
有老的备份的话
1 backup log db TO DISK='e:\db2.bak' WITH NO_TRUNCATE
2 恢复最老的完全备份
RESTORE DATABASE db FROM DISK='e:\db1.bak' WITH NORECOVERY
3 恢复最近的日志
RESTORE LOG db FROM DISK='e:\db2.bak' WITH RECOVERY
D. 只有mdf文件和ldf文件,怎么恢复数据库
新建一个同名的数据库,然后把它下面生成的mdf和ldf删掉,用手上有的去覆盖掉,再启动数据库服务就可以了
E. 只有mdf文件和ldf文件,怎么恢复数据库
如果两个文件都没有损坏,那么很容易恢复,直接调用以下命令就可以了:
sp_attach_db "数据库名" "路径\mylog.ldf" "路径\mydata.mdf"
如果文件损坏了,那么调用上面的命令时会出错,这时最好把文件备份一下,然后找专业的数据公司,比如杭州数灵网络科技开发有限公司,来做数据恢复。
希望有帮助。