mdf恢復資料庫
1. 僅有LDF文件和MDF文件 怎樣還原資料庫
1、把mdf文件和ldf文件拷貝到資料庫的默認路徑C:\Program
Files\Microsoft
sql
Server\MSSQL10.MSSQLSERVER\MSSQL\DATA里;
2、在sqlserver里新建個查詢,執行下面代碼;
USE master;
GO
CREATE DATABASE NewFile
ON (FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\File.mdf'),
(FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\File_log.ldf')
FOR ATTACH;
GO
3、刷新資料庫,就出現了新的資料庫NewFile;
根據mdf文件和ldf文件還原成功!
2. 如何將資料庫文件ldf和mdf還原到資料庫
1. 首先確認已經備份了.mdf和.ldf文件。
2. 在SQL Server中新建一個同名的資料庫,然後停止SQL Server服務。
3. 用原有的.mdf和.ldf文件覆蓋新建資料庫對應的.mdf和.ldf文件。
4. 重新啟動SQL Server服務,這是應該會看到這個資料庫處於置疑(Suspect)狀態。(人品好的話,這個時候資料庫就已經恢復正常了,上次xrf的資料庫就是這樣被我恢復的。人品不好的話,下面的步驟也不行,我有一次就是找了一個北京做數據恢復的公司才恢復完畢。)
5. 在SQL查詢分析器中執行以下命令,以允許更新系統表:use mastergosp_configure 『allow updates』,1
reconfigure with overridego
6. 將這個資料庫置為緊急模式:
update sysdatabases set status = 32768 where name = 'db_name'go
7. 使用DBCC CHECKDB命令檢查資料庫中的錯誤:
DBCC CHECKDB(『db_name』)GO
8. 如果DBCC CHECKDB命令失敗,請轉至第10步,否則先將資料庫置為單用戶模式,再嘗試對其進行修復:
sp_dboption 'db_name',』single user』,』true』
DBCC CHECKDB(『db_name』, REPAIR_ALLOW_DATA_LOSS)GO如果在執行DBCC CHECKDB(『db_name』, REPAIR_ALLOW_DATA_LOSS)命令時提示說資料庫未處於單用戶模式狀態的話,則重新啟動SQL Server服務,然後繼續嘗試。
9. 如果DBCC CHECKDB(『db_name』, REPAIR_ALLOW_DATA_LOSS)命令失敗,請轉至第10步,否則若成功修復了資料庫中的錯誤:
重新執行DBCC CHECKDB(『db_name』)命令,確認資料庫中已沒有錯誤存在。
清除資料庫的置疑狀態:sp_resetstatus 'db_name'
清除資料庫的單用戶模式狀態:sp_dboption 'db_name',』single user』,』false』
重新啟動SQL Server服務,如果一切正常的話,則資料庫已經成功恢復。
10. 如果以上步驟都不能解決問題的話,請參考附件中的文檔嘗試通過重建事務日誌來恢復資料庫中的數據。
如果您只有MDF文件,問題就更加復雜一些,我們需要直接重建事務日誌了:
1. 在SQL Server中新建一個同名的資料庫,然後停止SQL Server服務。
2. 用原有的ldf文件覆蓋新建資料庫對應的.mdf文件,將其日誌文件(.ldf)刪除。
3. 啟動SQL Server服務,並將資料庫置為緊急模式(同上: 步驟5和步驟6)。
4. 停止並重新啟動SQL Server服務。
5. 執行以下命令重建資料庫日誌文件:(下面是個示例,您要用您實際的資料庫名)
DBCC REBUILD_LOG(』cas_db』, 'D:\cas_db\cas_db_Log.LDF')
6. 重新將該資料庫置為單用戶模式。
3. sql sever 利用MDF恢復資料庫後,但是存儲過程未恢復過來,怎麼辦啊
第一種
將重建的同名資料庫刪除,然後採用數據附加方式恢復,選擇數據附加時,只需選中DATA文件夾中的*.MDF文件即可
第二種
把資料庫刪除,直接附加你拷貝過去的mdf
第三種
用語句乜能恢復的,
使用sql
sever
恢復語句!
4. 只有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
5. SQL恢復master資料庫方法 只有mdf文件的資料庫如何恢復
首先先和大家講一講SQL
Server恢復master資料庫方法,具體步驟如下
第一步:復制model.mdf、mastlog.ldf、model.mdf、modellog.ldf、msdbdata.mdf、msdblog.ldf文件。
從X:\Program
Files\Microsoft
SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\Templates
至X:\Program
Files\Microsoft
SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
註:以上「X:\Program
Files\Microsoft
SQL
Server」為SQL
Server的安裝目錄。以下的「C:\Program
Files\Microsoft
SQL
Server」為系統盤下的目錄
第二步:定位並執行安裝命令
1.
首先找到安裝命令:C:\Program
Files\Microsoft
SQL
Server\100\Setup
Bootstrap\Release\setup.exe
2.
執行命令
如果只是Windows身份驗證模式,只需要如下語法即可:
復制代碼
代碼如下:setup
/ACTION=REBUILDDATABASE
/QUIET
/INSTANCENAME=<instance
name>
/SQLSYSADMINACCOUNTS=<accounts>
如果是復合身份驗證模式,則需要使用/SAPWD參數提供sa的密碼:
復制代碼
代碼如下:setup
/ACTION=REBUILDDATABASE
/QUIET
/INSTANCENAME=<instance
name>
/SQLSYSADMINACCOUNTS=<accounts>
/SAPWD=<sa
password>
我安裝時設置的是復合認證模式,SQL
Server系統管理員帳號是administrators組,sa密碼是123456。並且就一個默認實例:MSSQLSERVER。
所以在命令行執行如下命令:
復制代碼
代碼如下:setup
/ACTION=REBUILDDATABASE
/QUIET
/INSTANCENAME=MSSQLSERVER
/SQLSYSADMINACCOUNTS=administrators
/SAPWD=123456
第三步:執行完畢後沒有任何提示信息(不管成功與否),但是可以馬上在C:\Program
Files\Microsoft
SQL
Server\100\Setup
Bootstrap\Log\Summary.txt中查看安裝日誌。
最後,在Sql
Server
Configuration
Manager中啟動SQL
Server服務成功。
在處理過程中出現了這種情況SQL恢復資料庫又該怎麼辦?只有mdf文件時,應當如何進行恢復,即有log文件的資料庫如何恢復
SQL恢復資料庫具體實現步驟:
1、新建一個同名資料庫。
2、停止資料庫服務,覆蓋新建的資料庫主文件(小技巧:最好放在同一個磁碟裡面,把新建的資料庫主文件刪掉或移開,再把要恢復的資料庫主文件剪切過去,這樣就可以節省時間。)
3、啟動資料庫服務,資料庫變為置疑或可疑狀態。然後在查詢分析器中運行:
alter
database
無日誌文件的資料庫名稱
set
emergency
設置為緊急狀態。
4、再運行:
alter
database
無日誌文件的資料庫名稱
set
single_user
或者:
Sp_dboption
'無日誌文件的資料庫名稱',
'single
user',
'true'
設置為單用戶模式。
5、檢查並重建日誌文件,運行:
dbcc
checkdb('無日誌文件的資料庫名稱',REPAIR_ALLOW_DATA_LOSS)
這個時間比較長。耐心等待!如果有錯誤提示,再運行:
dbcc
checkdb('無日誌文件的資料庫名稱',REPAIR_REBUILD)
進行修復。如果沒有錯誤,可以跳過。
6、恢復成多用戶模式
alter
database
無日誌文件的資料庫名稱
set
multi_user
或者:
Sp_dboption
'無日誌文件的資料庫名稱',
'single
user',
'false'
刷新資料庫,你就可以看到已經修復好的資料庫了。
以上就是為大家分享的SQL恢復資料庫方法,希望對大家恢復資料庫有所幫助。
6. MDF格式的資料庫文件怎麼恢復步驟是什麼
我恢復備份的方法是建立一個新的資料庫(用sql2000企業版),然後還原備份,請用SQL2000的企業管理器檢查,看看那個恢復的.mdf
資料庫文件名是否為
ssc
7. MDF文件丟失,如何恢復資料庫(MS-SQL)
即使有以前的備份文件
也要看備份的類型
如果是完全備份,那用備份文件可以恢復資料庫
但是如果是增量備份,那基本就沒什麼用了,因為增量備份只是保存與之前資料庫不同的數據,不是整個資料庫
完全備份那就可以
步驟是打開SQL資料庫,右鍵某個資料庫,所有任務,還原資料庫,選擇從設備還原,然後選上你的備份文件(.bak),然後就可以進行還原,不過還原之前記得選擇一下還原到哪個資料庫
解答完畢
你試試下面這個,那個「移至物理文件名」很重要
1.右擊SQL Server 2000實例下的「資料庫」文件夾。就是master等資料庫上一級的那個圖標。選擇「所有任務」,「還原資料庫」
2.在「還原為資料庫」中填上你希望恢復的資料庫名字。這個名字應該與你的源碼中使用的資料庫名字一致。
3.在彈出的對話框中,選「從設備」
4.點擊「選擇設備」
5.點擊「添加」
6.點擊「文件名」文本框右側的「...」按鈕,選中你的「.BAK」文件,並點擊確定回到「選擇還原設備」對話框。
7.點擊確定回到「還原資料庫」對話框。
8.點擊「選項」選項卡
9.將所有「移至物理文件名」下面的路徑,改為你想還原後的將資料庫文件保存到的路徑。如果你不希望改變,可以直接點擊確定。這時便恢復成功了。
8. 只有MDF文件如何恢復資料庫
??????
如果您的mdf文件是當前資料庫產生的,那麼很僥幸,也許你使用sp_attach_db或者sp_attach_single_file_db可以恢復資料庫,但是會出現類似下面的提示信息
??????
設備激活錯誤。??????
物理文件名
'C:\Program
Files\Microsoft
SQL
Server\MSSQL\data\test_Log.LDF'
可能有誤。
??????
已創建名為
'C:\Program
Files\Microsoft
SQL
Server\MSSQL\Data\test_log.LDF'
的新日誌文件。????????
但是,如果您的資料庫文件是從其他計算機上復制過來的,那麼很不幸,也許上述辦法就行不通了。你也許會得到類似下面的錯誤信息
??????
伺服器:
消息
1813,級別
16,狀態
2,行
1
??????
未能打開新資料庫
'test'。CREATE
DATABASE
將終止。
??????
A.我們使用默認方式建立一個供恢復使用的資料庫(如test)。可以在SQL
Server
Enterprise
Manager裡面建立。??????
B.停掉資料庫伺服器。??????
C.將剛才生成的資料庫的日誌文件test_log.ldf刪除,用要恢復的資料庫mdf文件覆蓋剛才生成的資料庫數據文件test_data.mdf??????
D.啟動資料庫伺服器。此時會看到資料庫test的狀態為「置疑」。這時候不能對此資料庫進行任何操作。????????
E.設置資料庫允許直接操作系統表。此操作可以在SQL
Server
Enterprise
Manager裡面選擇資料庫伺服器,按右鍵,選擇「屬性」,在「伺服器設置」頁面中將「允許對系統目錄直接修改」一項選中。也可以使用如下語句來實現。
??????
use
master
??????
go
??????
sp_configure
'allow
updates',1
??????
go
??????
reconfigure
with
override
??????
go??????
F.設置test為緊急修復模式
??????
update
sysdatabases
set
status=-32768
where
dbid=DB_ID('test')??????
此時可以在SQL
Server
Enterprise
Manager裡面看到該資料庫處於「只讀\置疑\離線\緊急模式」可以看到資料庫裡面的表,但是僅僅有系統表
??????
G.下面執行真正的恢復操作,重建資料庫日誌文件
??????
dbcc
rebuild_log('test','C:\Program
Files\Microsoft
SQL
Server\MSSQL\Data\test_log.ldf')??????
執行過程中,如果遇到下列提示信息:
??????
伺服器:
消息
5030,級別
16,狀態
1,行
1
??????
未能排它地鎖定資料庫以執行該操作。
??????
DBCC
執行完畢。如果
DBCC
輸出了錯誤信息,請與系統管理員聯系。
??????
說明您的其他程序正在使用該資料庫,如果剛才您在F步驟中使用SQL
Server
Enterprise
Manager打開了test庫的系統表,那麼退出SQL
Server
Enterprise
Manager就可以了。
??????
正確執行完成的提示應該類似於:
??????
警告:
資料庫
'test'
的日誌已重建。已失去事務的一致性。??????
應運行
DBCC
CHECKDB
以驗證物理一致性。??????
將必須重置資料庫選項,並且可能需要刪除多餘的日誌文件。??????
數據恢復
sql資料庫修復
密碼恢復??????
sql資料庫恢復
硬碟異響
壞道修復
文件恢復??????
sql
server修復
文件修復??????
raid數據恢復
sql資料庫修復??????
raid磁碟陣列
sql恢復
sql
server恢復??????
硬碟數據恢復
硬碟壞道修復
硬碟數據修復
數據修復
??????
DBCC
執行完畢。如果
DBCC
輸出了錯誤信息,請與系統管理員聯系。??????
此時打開在SQL
Server
Enterprise
Manager裡面會看到資料庫的狀態為「只供DBO使用」。此時可以訪問資料庫裡面的用戶表了。??????
H.驗證資料庫一致性(可省略)
??????
dbcc
checkdb('test')??????
一般執行結果如下:
??????
CHECKDB
發現了
0
個分配錯誤和
0
個一致性錯誤(在資料庫
'test'
中)
??????
DBCC
執行完畢。如果
DBCC
輸出了錯誤信息,請與系統管理員聯系。????????
I.設置資料庫為正常狀態
??????
sp_dboption
'test','dbo
use
only','false'
??????
如果沒有出錯,那麼恭喜,現在就可以正常的使用恢復後的資料庫啦。????????
J.最後一步,我們要將步驟E中設置的「允許對系統目錄直接修改」一項恢復。因為平時直接操作系統表是一件比較危險的事情。當然,我們可以在SQL
Server
Enterprise
Manager裡面恢復,也可以使用如下語句完成
??????
sp_configure
'allow
updates',0??????
go