恢復.mdf 數(shù)據(jù)庫步驟
更新時間:2009年07月19日 01:58:42 作者:
完成后一般就可以訪問數(shù)據(jù)庫中的數(shù)據(jù)了,這時,數(shù)據(jù)庫本身一般還要問題,解決辦法是,利用數(shù)據(jù)庫的腳本創(chuàng)建一個新的數(shù)據(jù)庫,并將數(shù)據(jù)導進去就行了.
方法一(只有mdf沒有日志文件的可以恢復) 證明有效
1.新建同名數(shù)據(jù)庫。
2.把該數(shù)據(jù)庫設置為脫機。
3.刪除其日志文件(.LDF),不刪除后邊的過程執(zhí)行通不過。
4.在在查詢分析器中以超級用戶登入,執(zhí)行以下存儲過程,必須以超級用戶登入,這是系統(tǒng)級存存處過程。
EXEC sp_detach_db @dbname = 'xxx' //@dbnam 為要還原的數(shù)據(jù)庫
EXEC sp_attach_single_file_db @dbname = 'xxx', @physname = 'yyyy' //@physname 為.mdf文件路徑
5.把該數(shù)據(jù)庫設置為聯(lián)機。
6.刷新數(shù)據(jù)庫,表出來了,數(shù)據(jù)完好
方法二(無日志文件或日志文件損壞)
1.新建一個同名的數(shù)據(jù)庫
2.再停掉sql server(注意不要分離數(shù)據(jù)庫)
3.用原數(shù)據(jù)庫的數(shù)據(jù)文件覆蓋掉這個新建的數(shù)據(jù)庫
4.再重啟sql server
5.此時打開企業(yè)管理器時會出現(xiàn)置疑,先不管,執(zhí)行下面的語句(注意修改其中的數(shù)據(jù)庫名)
use master
go
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
go
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的數(shù)據(jù)庫名''
go
sp_dboption '置疑的數(shù)據(jù)庫名'', 'single user', 'true'
go
DBCC CHECKDB('置疑的數(shù)據(jù)庫名'')
go
update sysdatabases set status =28 where name='置疑的數(shù)據(jù)庫名''
go
sp_configure 'allow updates', 0 reconfigure with override
go
sp_dboption '置疑的數(shù)據(jù)庫名'', 'single user', 'false'
go
6.完成后一般就可以訪問數(shù)據(jù)庫中的數(shù)據(jù)了,這時,數(shù)據(jù)庫本身一般還要問題,解決辦法是,利用
數(shù)據(jù)庫的腳本創(chuàng)建一個新的數(shù)據(jù)庫,并將數(shù)據(jù)導進去就行了.
1.新建同名數(shù)據(jù)庫。
2.把該數(shù)據(jù)庫設置為脫機。
3.刪除其日志文件(.LDF),不刪除后邊的過程執(zhí)行通不過。
4.在在查詢分析器中以超級用戶登入,執(zhí)行以下存儲過程,必須以超級用戶登入,這是系統(tǒng)級存存處過程。
EXEC sp_detach_db @dbname = 'xxx' //@dbnam 為要還原的數(shù)據(jù)庫
EXEC sp_attach_single_file_db @dbname = 'xxx', @physname = 'yyyy' //@physname 為.mdf文件路徑
5.把該數(shù)據(jù)庫設置為聯(lián)機。
6.刷新數(shù)據(jù)庫,表出來了,數(shù)據(jù)完好
方法二(無日志文件或日志文件損壞)
1.新建一個同名的數(shù)據(jù)庫
2.再停掉sql server(注意不要分離數(shù)據(jù)庫)
3.用原數(shù)據(jù)庫的數(shù)據(jù)文件覆蓋掉這個新建的數(shù)據(jù)庫
4.再重啟sql server
5.此時打開企業(yè)管理器時會出現(xiàn)置疑,先不管,執(zhí)行下面的語句(注意修改其中的數(shù)據(jù)庫名)
復制代碼 代碼如下:
use master
go
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
go
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的數(shù)據(jù)庫名''
go
sp_dboption '置疑的數(shù)據(jù)庫名'', 'single user', 'true'
go
DBCC CHECKDB('置疑的數(shù)據(jù)庫名'')
go
update sysdatabases set status =28 where name='置疑的數(shù)據(jù)庫名''
go
sp_configure 'allow updates', 0 reconfigure with override
go
sp_dboption '置疑的數(shù)據(jù)庫名'', 'single user', 'false'
go
6.完成后一般就可以訪問數(shù)據(jù)庫中的數(shù)據(jù)了,這時,數(shù)據(jù)庫本身一般還要問題,解決辦法是,利用
數(shù)據(jù)庫的腳本創(chuàng)建一個新的數(shù)據(jù)庫,并將數(shù)據(jù)導進去就行了.
相關文章
SQL Server誤區(qū)30日談 第14天 清除日志后會將相關的LSN填零初始化
當日志文件在手動增長,自動增長和創(chuàng)建時都會進行填零初始化操作。但是請不要把這個過程和定期清除日志的過程搞混2013-01-01
用SQL語句實現(xiàn)隨機查詢數(shù)據(jù)并不顯示錯誤數(shù)據(jù)的方法
用SQL語句實現(xiàn)隨機查詢數(shù)據(jù)并不顯示錯誤數(shù)據(jù)的方法...2007-11-11
SQLServer查詢歷史執(zhí)行記錄的方法實現(xiàn)
有的時候,需要知道近段時間SQLSERVER執(zhí)行了什么語句,本文主要介紹了SQLServer查詢歷史執(zhí)行記錄的方法實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2023-09-09

