不同的資料庫有不同的恢復方式。
Oracle 11g之後有快閃記憶體回歸機制,在一定的時間內可以從快閃記憶體中恢復數據。
MySQL資料庫則在開啟了binlog日誌的情況下,可以通過binlog日誌恢復被刪除的數據。
㈡ sqlserver資料庫表數據誤刪除了 怎麼恢復
恢復sqlserver資料庫表數據步驟如下:
一、心態:
1、務必冷靜,事情已經發生不可慌亂。
2、立即查看當前時間,最好能夠精確到秒,並做記錄。
3、應立即向直接上級反映此事,不可隱瞞,防止事態擴大。
4、如果許可權允許,應當立即停止相關應用,防止有新的數據寫入資料庫。
二、恢復:
1、構建新資料庫以及寫入一些數據
如果查詢發現數據不是你想要的,那麼可以重復上述的操作,從備份事務日誌開始,然後最後選擇時間點的時候在縮小范圍。
㈢ SQL資料庫怎麼還原 用友SQL SERVER恢復資料庫誤刪除數據方法
SQL Server中誤刪除數據的恢復本來不是件難事,從事務日誌恢復即可。但是,這個恢復需要有兩個前提條件:
1. 至少有一個誤刪除之前的資料庫完全備份。
2. 資料庫的恢復模式(Recovery mode)是「完整(Full)」。
針對這兩個前提條件,會有三種情況:
情況一、如果這兩個前提條件都存在,通過SQL語句只需三步就能恢復(參考文章),無需藉助第三方工具。
a) 備份當前資料庫的事務日誌:BACKUP LOG [資料庫名] TO disk= N'備份文件名' WITH NORECOVERY
b) 恢復一個誤刪除之前的完全備份:RESTORE DATABASE [資料庫名] FROM DISK = N'完全備份文件名' WITH NORECOVERY, REPLACE
c) 將資料庫恢復至誤刪除之前的時間點:RESTORE LOG [資料庫] FROM DISK = N'第一步的日誌備份文件名' WITH STOPAT = N'誤刪除之前的時間點' , RECOVERY
情況二、如果第1個前提條件不存在,第2個前提條件存在,需要藉助第三方工具。
情況三、如果第2個前提條件不存在,無法恢復。所以,一定要將資料庫恢復模式設置為「完整(Full)」。
我現在面臨的是第二種情況,需要找第三方工具。
開始找的是Log Explorer for SQL Server,不支持SQL Server 2008。
後來找的是SQL Log Rescue,也不支持SQL Server 2008。
接著找到的是SysTools SQL Recovery,支持SQL Server 2008,但需要購買,Demo版並沒有數據恢復功能。
最終在officerecovery.com上找到Recovery for SQL Server,雖然也是商業軟體,需要購買,但Demo版可以恢復數據,只要資料庫文件不超過24Gb。幸好朋友的資料庫文件不大,用它完成了誤刪除數據的恢復。
下面分享一下用Recovery for SQL Server進行恢復的操作步驟:
1. 運行Recovery for SQL Server
2. 點擊菜單中的 File > Recover,選擇要恢復的資料庫的數據文件(.mdf)
3. Next > Next,進入 Recovery Configuration 界面,選擇Custom(選擇了Custom才可以選擇從日誌中恢復誤刪除的數據)。
4. Next 進入 Recovery options 窗口,選中 Search for deleted records,並選擇要恢復的資料庫的日誌文件路徑(log file path)。
5. Next 並選擇目標文件夾(Destination folder),用於存放恢復過程中生成的SQL語句與bat文件。
6. 點擊Start,開始恢復操作(在上一步選擇的目標文件夾中生成相應的SQL文件與Bat文件),然後,出現 SQL Server Database Creation Utility 窗口。
7. Next,選擇被恢復數據存放的目標資料庫。
8. Next, 選擇 Import availiable data from both database and log files
9. Next, Next, 然後就完成數據的恢復!
㈣ sqlserver資料庫數據被刪除了怎麼還原
sqlserver資料庫數據被刪除了怎麼還原
SQL
Server中誤刪除數據的恢復本來不是件難事,從事務日誌恢復即可。但是,這個恢復需要有兩個前提條件:
1.
至少有一個誤刪除之前的資料庫完全備份。
2.
資料庫的恢復模式(Recovery
mode)是「完整(Full)」。
㈤ sql資料庫delete刪除後怎麼恢復
通過oracle提供的回閃功能,
㈥ sql2005刪除資料庫怎麼恢復
sql2005資料庫修復方法如下:
1、停止資料庫服務。
2、將需要恢復的資料庫文件復制到另外的位置。
3、啟動資料庫服務。
4、確認要恢復的資料庫文件已經成功復制到另外的位置,然後在sql
server
management
studio中刪除要恢復的資料庫。
5、新建同名的資料庫(資料庫文件名也要相同)。
6、停止資料庫服務。
7、用第2步中備份的.mdf文件覆蓋新資料庫的同名文件。
8、啟動資料庫服務。
9、運行alter
database
dbname
set
emergency,將資料庫設置為emergency
mode
10、運行下面的命令就可以恢復資料庫:titleuse
masterdeclare
@databasename
varchar(255)
set
@databasename='要恢復的資料庫名稱'
㈦ SQL資料庫里的表誤刪除要怎麼恢復
1、實現運行Recovery for SQL Server操作如下。
㈧ sql資料庫刪除了怎麼恢復數據
sql
server中誤刪除數據的恢復本來不是件難事,從事務日誌恢復即可。但是,這個恢復需要有兩個前提條件:
1.
至少有一個誤刪除之前的資料庫完全備份。
2.
資料庫的恢復模式(recovery
mode)是「完整(full)」。
針對這兩個前提條件,會有三種情況:
情況一、如果這兩個前提條件都存在,通過sql語句只需三步就能恢復(參考文章),無需藉助第三方工具。
a)
備份當前資料庫的事務日誌:backup
log
[資料庫名]
to
disk=
n'備份文件名'
with
norecovery
b)
恢復一個誤刪除之前的完全備份:restore
database
[資料庫名]
from
disk
=
n'完全備份文件名'
with
norecovery,
replace
c)
將資料庫恢復至誤刪除之前的時間點:restore
log
[資料庫]
from
disk
=
n'第一步的日誌備份文件名'
with
stopat
=
n'誤刪除之前的時間點'
,
recovery
情況二、如果第1個前提條件不存在,第2個前提條件存在,需要藉助第三方工具。
情況三、如果第2個前提條件不存在,無法恢復。所以,一定要將資料庫恢復模式設置為「完整(full)」。
我現在面臨的是第二種情況,需要找第三方工具。
開始找的是log
explorer
for
sql
server,不支持sql
server
2008。
後來找的是sql
log
rescue,也不支持sql
server
2008。
接著找到的是systools
sql
recovery,支持sql
server
2008,但需要購買,demo版並沒有數據恢復功能。
最終在officerecovery.com上找到recovery
for
sql
server,雖然也是商業軟體,需要購買,但demo版可以恢復數據,只要資料庫文件不超過24gb。幸好朋友的資料庫文件不大,用它完成了誤刪除數據的恢復。
下面分享一下用recovery
for
sql
server進行恢復的操作步驟:
1.
運行recovery
for
sql
server
2.
點擊菜單中的
file
>
recover,選擇要恢復的資料庫的數據文件(.mdf)
3.
next
>
next,進入
recovery
configuration
界面,選擇custom(選擇了custom才可以選擇從日誌中恢復誤刪除的數據)。
4.
next
進入
recovery
options
窗口,選中
search
for
deleted
records,並選擇要恢復的資料庫的日誌文件路徑(log
file
path)。
5.
next
並選擇目標文件夾(destination
folder),用於存放恢復過程中生成的sql語句與bat文件。
6.
點擊start,開始恢復操作(在上一步選擇的目標文件夾中生成相應的sql文件與bat文件),然後,出現
sql
server
database
creation
utility
窗口。
7.
next,選擇被恢復數據存放的目標資料庫。
8.
next,
選擇
import
availiable
data
from
both
database
and
log
files
9.
next,
next,
然後就完成數據的恢復!
㈨ SQL資料庫表被誤刪除,如何恢復
如果之前沒有完全備份的話,我不知道怎麼去恢復。
如果之前有完全備份的話,現在立刻備份日誌文件。
backup
log
資料庫名
to
disk
='備份路徑+備份名'
然後還原最近一次的完全備份(刪除表之前的完全備份)加上norecovery選項
restore
database
資料庫名
from
disk='完全備份路徑+備份名'
with
norecovery,replace
之後還原剛才備份的日誌文件,加上stopat選項,假設表是在18:01分刪除的,就恢復到之前的幾分鍾
restore
log
資料庫名
from
disk='日誌文件備份路徑+備份名'
with
stopat='2008-3-28
17:30'