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"
如果文件損壞了,那麼調用上面的命令時會出錯,這時最好把文件備份一下,然後找專業的數據公司,比如杭州數靈網路科技開發有限公司,來做數據恢復。
希望有幫助。