當前位置:首頁 » 編程語言 » sql附加資料庫恢復
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql附加資料庫恢復

發布時間: 2022-10-02 21:09:52

sql2008,附加的資料庫,刪除時選擇了關閉現有鏈接,源文件被刪除了怎麼恢復啊急死我了!

沒有辦法恢復
刪除資料庫就是會將mdf和ldf文件同時刪掉, "關閉現有連接"是說如果當前有人連接到這個庫上, 強行終止, 否則的話刪除操作會被終止

如果沒有備份過資料庫,可以嘗試使用文件恢復軟體試試, 但是即使你恢復回來了, 也不一定會好用

另外, 你選擇的操作應該是分離(detach)資料庫, 而不是刪除資料庫

② SQL資料庫系統破壞後如何恢復已被重裝系統。

在重裝資料庫或重裝系統之前,你需要先把你要在以後恢復的數據做好備份,就是從資料庫中導出數據文件到另外1個地方暫時的保存起來。重裝完系統活著資料庫以後再把原來備份好的東西導入到sql資料庫中去就好了。導出資料庫數據:打開你sql資料庫的企業管理器,找到你要導出數據的資料庫名稱,選中它,也就是在它的資料庫名字上滑鼠點1下,然後打開菜單:操作--所以任務--導出數據,這是會彈出「DTS導入導出向導」,依照它的提示,1步1步操作下去,就能夠把你資料庫里的數據導出去了,導完1個資料庫以後可以再導另外一個的,1個1個來。將數據導入至sql資料庫:用滑鼠點1下「資料庫」3個字,也就是你的「(local)(WindowsNT)」下的第1級資料庫,然後打開菜單:操作--所有任務--附加資料庫,此時彈出附加資料庫對話框,選擇要附加資料庫的MDF文件,點1下後面的3個點的那個按鈕就能夠找,找到你先前導出的資料庫文件,肯定,根據它的提示完成相應項目,就能夠導入了。

③ sql server資料庫被刪除怎麼恢復

方法1:

master
中執行
exec
sp_detach_db
'fj20070116',
'true'
接下來到相應的資料庫文件目錄下刪除log文件
exec
sp_attach_db
@dbname
=
n'fj20070116',
@filename1
=
n'f:\microsoft
sql
server\mssql\data\fj20070116_data.mdf'
執行結果如下(表明刪除日誌成功,並重建資料庫日誌文件):
設備激活錯誤。物理文件名
'f:\microsoft
sql
server\mssql\data\fj20070116_log.ldf'
可能有誤。
已創建名為
'f:\microsoft
sql
server\mssql\data\fj20070116_log.ldf'
的新日誌文件。
方法2:
選中要分離的資料庫,先將其分離。
刪除對應的日誌文件。
資料庫--所有任務--附加資料庫--在附加資料庫的彈出框中選擇mdf
選擇是即可完成創建新的資料庫日誌文件。對資料庫操作沒有任何影響。
以上兩個方法生成的log文件只有504kb。

④ 當SQL Server資料庫崩潰時如何恢復

重裝SQL
Server
然後附加原來的資料庫,或者使用備份還原資料庫。
把MDF
文件放在C:\Program
Files\Microsoft
SQL
Server\MSSQL\data
文件夾下
然後在打開SQL資料庫,右擊資料庫所有任務\附加資料庫把MDF文件加上就行了。

⑤ SQLServer2008資料庫怎樣備份還原和數據恢復

在完整恢復模式或大容量日誌恢復模式下,必須先備份活動事務日誌(稱為日誌尾部),然後才能在SQLServerManagementStudio中還原資料庫。有關詳細信息,請參閱如何備份事務日誌(SQLServerManagementStudio)。若要還原已加密的資料庫,您必須有權訪問用於加密資料庫的證書或非對稱密鑰。如果沒有證書或非對稱密鑰,資料庫將無法還原。

認識資料庫備份和事務日誌備份

資料庫備份與日誌備份是資料庫維護的日常工作,備份的目的是在於當資料庫出現故障或者遭到破壞時可以根據備份的資料庫及事務日誌文件還原到最近的時間點將損失降到最低點。

資料庫備份

資料庫備份可以手動備份和語句備份

一.手動備份資料庫

1.滑鼠右鍵選擇你要進行備份的資料庫-任務-備份

可以在常規選項頁面你可以選擇備份類型是進行完整資料庫備份還是差異資料庫備份

2.點擊添加選項,選擇資料庫文件的存放路徑

注意文件名記得加後綴.bak,便於恢復時的查找

3.你還可以在選項頁面是追加到現有的備份集,還是覆蓋所有的現有備份集,還可以選擇備份驗證完整性(建議選擇),還可以選擇是否壓縮備份等。

二.語句備份資料庫

use master goBACKUP DATABASE [test] TO DISK = N'D:Microsoft sql serverMSSQL10.MSSQLSERVERMSSQLBackup est.bak' WITH NOFORMAT, NOINIT, NAME = N'test-完整 資料庫 備份', SKIP, NOREWIND, NOUNLOAD, STATS = 10GO

資料庫日誌備份

首先需要注意,資料庫日誌的備份是基於資料庫完整備份,也就是說你備份資料庫日誌之前你首先要先對資料庫進行一次完整的備份,因為之間會涉及到堅持到檢查點 lsn, 這也是本文接下來要講的重點。

一.手動備份資料庫日誌

1.右鍵資料庫-任務-備份-選擇備份類型(事務日誌)

2.點添加,添加日誌文件備份存儲路徑

3.同資料庫完整備份一樣,你也可以選擇覆蓋現有備份集或者追加到現有備份集,這里現在覆蓋現有備份集、驗證完整性,然後確認備份

二.語句備份資料庫事務日誌

BACKUP LOG [test] TO DISK = N'D: est.trn' WITH NOFORMAT, INIT, NAME = N'test-事務日誌 備份', SKIP, NOREWIND, NOUNLOAD, STATS = 10GO

資料庫還原

右鍵資料庫-還原資料庫-添加需要進行還原的資料庫文件路徑

在還原源選項中你可以選擇『源資料庫』,『源設備』。1.選擇源資料庫工具會自動顯示該資料庫之前的一些備份,然後直接選擇需要還原的資料庫備份集。

2.選擇源設備點擊後面的...,添加需要還原的資料庫文件

2.點擊確認還原資料庫

資料庫恢復

資料庫恢復的前提是1.一個完整的資料庫備份2.包含這個完整資料庫備份的事務日誌備份3.完整備份之間也可以存在數個差異備份

對於資料庫維護空間始終是一個比較頭疼的問題,特別是對於大型資料庫而言,每天的日誌文件增長是龐大的,很多資料庫管理員會定時對資料庫日誌文件進行收縮,但是經常收縮會存在收縮完日誌文件還是不能減少,這是因為存在很多活動的日誌無法收縮可以用

DBCC LOGINFO('資料庫名稱')

我們看到
status=0的日誌,代表已經備份到磁碟的日誌文件;而
status=2的日誌還沒有備份。當我們收縮日誌文件時,收縮掉的空
間其實就是
status=0的空間,如果日誌物理文件無法減小,這里一
定能看到非常多status=2的記錄

解決辦法:1.可以分離要收縮的資料庫,然後手動刪除日誌文件,然後附加資料庫,資料庫就會產生一個很小的日誌文件(不推薦使用這種方法)

2.右鍵要出來的資料庫選擇「屬性」-"選項",將恢復模式改成"簡單",然後利用收縮工具可以講日誌文件收縮到很小,收縮完記得講恢復模式改成"完整"

也可以用語句進行處理(dbname是你要進行收縮的資料庫名,dbname_log是你要進行收縮的資料庫的邏輯日誌名稱)

USE [master]
GO ALTER DATABASE [dbname] SET recovery SIMPLE WITH NO_WAIT GO
ALTER DATABASE [dbname] SET RECOVERY SIMPLE --簡單模式
GO
USE [dbname]
GO
DBCC SHRINKFILE (N'dbname_log' , 11, TRUNCATEONLY) GO
USE [master]
GO
ALTER DATABASE [dbname] SET RECOVERY FULL WITH NO_WAIT ALTER DATABASE [dbname] SET RECOVERY FULL

對於第一種方法不贊同使用,首先對於資料庫的分離與附加有時候會破壞資料庫,造成資料庫無法還原,還有就是對於在線資料庫也不允許進行分離操作。

對於第二種方法是slq2008收縮日誌文件的一種方法,但是此方法也不能使用過於頻繁,因為進行資料庫恢復模式的更改會截斷事務日誌文件,這樣的話當時利用事務日誌文件進行恢復的時候檢查點不能包含資料庫文件,而且當你要對事務日誌進行備份的時候會重新提示你需要對資料庫進行完整備份。

舉個例子:比如你昨天晚上進行了一次完整備份,然後同時你也進行了一次日誌備份(提前日誌未被截斷),然後你每個小時進行過一次差異備份,最近的差異備份時間點是14點,如果此時資料庫錯誤修改了數據,你可以立馬備份一個日誌文件將資料庫恢復到日誌備份開始到日誌備份終點前的任意時間點 。

如果此時你進行了修改資料庫模式,截斷日誌進行了收縮,那麼你的數據只能恢復到昨天晚上備份的那個日誌備份時間前的任意時間點,也就是今天所做的資料庫更改無法再恢復了,因為日誌文件已經被截斷了,不知道這樣解釋是否明白

因為日誌文件的檢查點(lsn)是連續的,每一次日誌備份都是在上一次備份的基礎上lsn往後增加的,lsn的范圍也包括了資料庫文件的lsn,也只有日誌文件的lsn包括了資料庫文件的lsn,才能將資料庫文件進行回滾。

上圖中總共有三個備份文件,一個完整備份、一個差異備份、一個日誌備份,大家可以注意觀察完整備份的第一個lsn與最後一個lsn,和檢查點

第二個差異備份文件的的第一個lsn與最後一個lsn,和檢查點,最後的日誌備份的第一個lsn和最後一個lsn包含了前面兩個備份文件的lsn,這種情況資料庫就可以恢復到日誌文件備份前的任意時間點,如果日誌文件沒有包含資料庫文件的最後一個lsn也就無法恢復了。

⑥ sql server 2000怎麼還原資料庫

方法/步驟

1
一、使用.MDF和.LDF文件還原(附加資料庫)
1、依次展開SQL Server企業管理器中左側樹圖上的目錄,一直到「資料庫」節點,在「資料庫」上點滑鼠「右鍵」,並選擇「所有任務」 →「附加資料庫」,如圖所示:

2
2、在彈出的「附加資料庫 - (local)」對話框中,點擊「要附加資料庫的MDF文件:(M)」文件框右側的「瀏覽」按鈕,如圖所示:

3
3、在彈出的的「瀏覽現有的文件 - (local )」對話框中,選擇要還原資料庫的.MDF文件,點擊「確定」按鈕,如圖所示:

4
4.返回「附加資料庫 - (local)」對話框,系統將自動載入.LDF文件,並根據實際情況選擇「指定資料庫所有者」的用戶,如下圖所示:

5
4、單擊「確定」按鈕,資料庫附加(還原)完成,如下圖所示:

二、使用.BAK資料庫備份文件還原(還原資料庫)
1、依次展開SQL Server企業管理器中左側樹圖上的目錄,一直到「資料庫」節點,在「資料庫」上點滑鼠「右鍵」,並選擇「所有任務」 →「還原資料庫」,如圖所示:

2、在彈出的「還原資料庫」對話框中,「還原為資料庫(R)」選擇要還原到哪個資料庫,然後選擇「從設備」還原,點擊「選擇設備」按鈕,如圖所示:

3、在彈出的「選擇還原設備」對話框中,單擊「選擇設備」按鈕,在彈出的對話框中,單擊「添加」按鈕,如圖所示:

4、在彈出的「選擇還原目的」對話框中,單擊「文件名」右側「瀏覽」按鈕,如圖所示:

5、在彈出的「備份設備位置 - (local)」對話框中找到數據備份.BAK文件,單擊「確定」按鈕,如下圖所示:

6、系統返回到「選擇還原目的」對話框,單擊「確定」按鈕,如下圖所示:

7、系統返回到「選擇還原設備」對話框,單擊「確定」按鈕,如下圖所示:

8、系統返回到「還原資料庫」對話框,單擊「確定」按鈕,如下圖所示:

9、此時SQL Server2000開始還原指定.BAK文件的資料庫,如圖所示:

10.稍等一會兒,還原就完成了,如圖所示:

⑦ 重新安裝了SQL SERVER2000,原先的資料庫忘記備份,在哪恢復

只要原資料庫的mdf和ldf文件沒有刪除,就可以直接附近資料庫。

1、在SQL企業管理器中,如圖操作,打開附加資料庫界面:

⑧ sql如何恢復數據

方法:

第一步:選擇需要還原的資料庫,滑鼠右鍵,選擇任務下的還原;

注意事項

1、一定要記得覆蓋現有資料庫;

2、執行資料庫操作的時候,請斷開當前資料庫的任何使用(例如查詢,資料庫的連接使用)。

⑨ 在sql裡面把資料庫刪除了怎麼恢復

不同的資料庫有不同的恢復方式。

  1. Oracle 11g之後有快閃記憶體回歸機制,在一定的時間內可以從快閃記憶體中恢復數據。

  2. MySQL資料庫則在開啟了binlog日誌的情況下,可以通過binlog日誌恢復被刪除的數據。