恢復sqlserver資料庫表數據步驟如下:
一、心態:
1、務必冷靜,事情已經發生不可慌亂。
2、立即查看當前時間,最好能夠精確到秒,並做記錄。
3、應立即向直接上級反映此事,不可隱瞞,防止事態擴大。
4、如果許可權允許,應當立即停止相關應用,防止有新的數據寫入資料庫。
二、恢復:
1、構建新資料庫以及寫入一些數據
如果查詢發現數據不是你想要的,那麼可以重復上述的操作,從備份事務日誌開始,然後最後選擇時間點的時候在縮小范圍。
② sql server誤刪了資料庫怎麼找回
你好:
一、還原需要的條件設置
使用命令,是通過sqlserver的事務日誌以及一個誤刪除前的資料庫的完整備份進行還原,所以在sqlserver2012的維護計劃向導中,要建立完整備份,差異備份和事務日誌,具體如下
做好如上兩個設置,資料庫誤刪後找回數據就會非常輕松,現在說一下如何還原sqlserver數據到故障點。
二、還原命令
還原主要分為四步走:
1、出現故障後,首先執行備份事務日誌命令,這里以AdventureWorks作為資料庫名。命令如下:
BACKUP LOG AdventureWorks TODISK = 'C:_transcationlog.bak'
WITHNORECOVERY;
2、從完整備份還原數據
RESTORE DATABASE [QASupervision] FROM DISK='M:DatabaseOAAdventureWorks_Fullbackup_2014_03_18_010002_0155764.bak'
WITH NORECOVERY, REPLACE
3、從差異備份還原數據
RESTORE DATABASE [QASupervision] FROM DISK='M:DatabaseOAAdventureWorks_diffbackup_2014_03_18_020002_0155764.bak' WITH NORECOVERY, REPLACE
4、從事務日誌還原數據,還原到某個時間點之前
DECLARE@dt datetime
SELECT@dt=DATEADD(HOUR,-16,GETDATE())
select@dt
RESTORE LOG [QASupervision] FROMDISK='C:_transcationlog.bak'WITHSTOPAT=@dt,RECOVERY
5、還原資料庫,如果資料庫提示正在還原中,則執行此命令即可。
RESTORE DATABASEAdventureWorks WITHRECOVERY
③ sqlserver資料庫數據被刪除了怎麼還原
在sqlserver2012的維護計劃向導中,要建立完整備份,差異備份和事務日誌。
④ 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。
⑤ 資料庫被刪除了怎麼恢復
恢復步驟:
1、運行EasyRecovery。
2、選擇「DeletedRecovery」。
3、選擇資料庫文件所在的驅動器,在「File Filter」中輸入*.mdf|*.ldf,選擇「Next」。
4、在左側窗口會列出被刪除的資料庫文件,選擇所要恢復的資料庫文件,選擇「Next」。
5、在「Recover to Local Drive」中選擇恢復後的文件存放的路徑,要選擇與原資料庫文件不同的路徑,選擇「Next」。
6、文件被恢復後,將恢復的文件復制到原資料庫文件位置,並在企業管理器通過附加資料庫,將恢復的文件恢復到SQL Server中。
註:如果刪除的資料庫文件所有的存儲區域被寫過了,就無法恢復了,所以刪除與恢復的時間間隔越短越好。
⑥ SQL資料庫里的表誤刪除要怎麼恢復
1、實現運行Recovery for SQL Server操作如下。
⑦ 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'
⑧ sql資料庫delete刪除後怎麼恢復
一、如果是剛剛刪除,那麼有兩方法:
首先用show parameter undo;命令查看當時的資料庫參數undo_retention設置。
顯示如下:
undo_management string AUTO
undo_retention integer 10800
undo_suppress_errors boolean FALSE
undo_tablespace string UNDOTBS1
undo_retention(保持力),10800單位是秒。即3個小時。
修改默認的undo_retention參數設置:
ALTER SYSTEM SET undo_retention=10800 SCOPE=BOTH;
方法1,通過oracle提供的回閃功能:
exec dbms_flashback.enable_at_time(to_date('2007-07-23 10:21:00','yyyy-mm-dd hh24:mi:ss'));
set serveroutput on
DECLARE r_temp hr.job_history%ROWTYPE;
CURSOR c_temp IS SELECT * FROM hr.job_history;
BEGIN
OPEN c_temp;
dbms_flashback.disable;
LOOP
FETCH c_temp INTO r_temp;
EXIT WHEN c_temp%NOTFOUND;
insert into hr.job_history(EMPLOYEE_ID,JOB_ID,START_DATE,END_DATE) values (r_temp.EMPLOYEE_ID,r_temp.JOB_ID,r_temp.START_DATE,r_temp.END_DATE);
commit;
END LOOP;
CLOSE c_temp;
END;
方法2,insert into hr.job_history
select * from hr.job_history as of timestamp to_timestamp('2007-07-23 10:20:00', 'yyyy-mm-dd hh24:mi:ss');
這種方法簡單,容易掌握,功能和上面的一樣時間為你誤操作之前的時間,最好是離誤操作比較近的,因為oracle保存在回滾保持段里的數據時間有一定的時間限制由undo_retention 這個參數值決定。
二、如果是刪除一段時間了,但你有比較新的資料庫備份,就通過備份來恢復。新建一個庫,把備份還原上去,導出表數據,再導入到現在用的庫中去。
三、如果刪除一段時間了,並且無備份,但是數據在寫入表的時候同時會寫入其它一些關聯表的話,那麼就嘗試通過寫SQL語句從其它表取數據出來insert到被刪除的表中。