當前位置:首頁 » 編程語言 » 如何還原sql中update的數據
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

如何還原sql中update的數據

發布時間: 2022-05-31 13:18:07

『壹』 sql server update之後怎麼恢復

親,資料庫所有操作只要不是在事務里,都是不支持逆向操作哦,沒有撤銷的功能。
所以對於資料庫update、delete等操作,在寫好sql語句之後,一定要先確認where條件無誤後,再執行哦~
如果真的誤操作了數據,只能去找資料庫備份進行還原啦

『貳』 資料庫沒有備份,update欄位,發現錯了,怎麼還原回來

create table test (dt smalldatetime)
insert values (getdate())
select * from test
---------------------------------------
2007-08-08 21:49:00
2007-08-08 21:54:00

這時備份DB,再恢復,還是有兩個記錄啊

backup database casedb to disk='c:\tts1.bak'
backup log casedb to disk='c:\ttslog1.trn' with norecovery,no_truncate
restore log casedb from disk='c:\ttslog1.trn' with stopat=N'2007-08-08T21:51:59'

『叄』 怎麼恢復update或delete操作之後的數據

1、正確的完整資料庫的最後一次備份
如果沒有資料庫完整備份,是不能做事務日誌備份的,所以建議創建資料庫時,恢復模式一項,應當選擇'完整'。
2、正確的即時點
即所要恢復到數據的時間點,這個時間點一般選擇誤操作發生時間往前一點的時間點,所以當誤操作發生時,應盡量記下這個時間點,不然可能導致恢復的數據不夠准確。比如,
誤操作發生於16:00,這個時間點我們可以選擇15:59,如果選擇的太靠前,比如15:30,那麼15:30--15:59這段時間內的數據就不能被恢復了。

『肆』 使用mysql時候不小心多update了數據,想問一下如何才能夠返回上一步

1、首先:創建一個表格,插入數據。

6、最後查看修改後的表,就完成了。

『伍』 SQL問題:本想執行update修改一條數據的,結果忘記寫where條件了。結果那個表的那一列都改了。能改回來么

修改之前沒進行備份數據? 可憐的娃。。。
方法一:
數據還原到指定時間點的處理示例:
--創建測試資料庫
CREATE DATABASE Db
GO
--對資料庫進行備份
BACKUP DATABASE Db TO DISK='c:\db.bak' WITH FORMAT
GO
--創建測試表
CREATE TABLE Db.dbo.TB_test(ID int)
--延時1秒鍾,再進行後面的操作(這是由於SQL Server的時間精度最大為百分之三秒,不延時的話,可能會導致還原到時間點的操作失敗)
WAITFOR DELAY '00:00:01'
GO
--假設我們現在誤操作刪除了 Db.dbo.TB_test 這個表
DROP TABLE Db.dbo.TB_test
--保存刪除表的時間
SELECT dt=GETDATE() INTO #
GO
--在刪除操作後,發現不應該刪除表 Db.dbo.TB_test
--下面演示了如何恢復這個誤刪除的表 Db.dbo.TB_test
--首先,備份事務日誌(使用事務日誌才能還原到指定的時間點)
BACKUP LOG Db TO DISK='c:\db_log.bak' WITH FORMAT
GO
--接下來,我們要先還原完全備份(還原日誌必須在還原完全備份的基礎上進行)
RESTORE DATABASE Db FROM DISK='c:\db.bak' WITH REPLACE,NORECOVERY
GO
--將事務日誌還原到刪除操作前(這里的時間對應上面的刪除時間,並比刪除時間略早
DECLARE @dt datetime
SELECT @dt=DATEADD(ms,-20,dt) FROM # --獲取比表被刪除的時間略早的時間
RESTORE LOG Db FROM DISK='c:\db_log.bak' WITH RECOVERY,STOPAT=@dt
GO
--查詢一下,看錶是否恢復
SELECT * FROM Db.dbo.TB_test
/*--結果:
ID
-----------
(所影響的行數為 0 行)
--*/
--測試成功
GO
--最後刪除我們做的測試環境
DROP DATABASE Db
DROP TABLE #

方法二:
用日誌工具Log Explorer
步驟:
1、查看日誌
a、打開log explorer,選擇菜單File--> attach log file
b、在Log File Selection窗口中,填寫連接到要恢復數據的資料庫伺服器機器名、資料庫登錄ID及密碼,然後點擊 "Connect "按鈕。
c、若連接成功,則窗口左邊樹將顯示命令菜單,這時我們點擊Browser下的View Log命令,此時窗口右邊則出現該資料庫的Log。
2、恢復資料庫
這時您只要選擇您要恢復對事件點,右鍵點擊選擇 "undo transation "命令,保存T-SQL代碼,然後在查詢分析器中執行該T-SQL代碼

『陸』 sql資料庫用語句刪除表,怎麼恢復

如何恢復被delete/update的數據

操作步驟

1連接到被刪除資料庫的Db
打開logexplorer選擇"file"->"attachlogfile"->選擇伺服器和登陸方式->"connect"->選擇"資料庫"->"attach"

2查看日誌
在左面操作項目的對話框中選擇"browse"項目->"viewlog"->就可以看到當前的Log記錄了

3恢復數據
右鍵某一條log記錄,選擇"undotransation"->"選擇保存文件名和路徑"->然後打開該文件到查詢分析器里執行
T-sql代碼就可以了


例如:如果log是deletetablewhere...的話,生成的文件代碼就是inserttable....

『柒』 SQL SERVER 2008數據還原(誤操作delete、update等)

如果你以前有做過全備份,現在再做一個日誌備份。
然後,還原全備 with restore方式,再還原日誌備份到你刪除前的時間點。

你可以還原到一個新資料庫上,然後看一下數據是否還原了,如果還原了,把數據更新到原資料庫的表上就可以了。

『捌』 sql server 用了update語句如何恢復

確保在你執行過了update語句之後,如果沒有執行其他語句

可以在deleted表中恢復
但是如果你執行過其他語句,可能恢復的機會不大
我對SQLServer不是很熟,你試試看有木有事務回滾之類的,回滾到update之前的狀態就行

『玖』 mysql 執行了 update,資料庫沒做備份,能還原嗎

以下情況可以恢復數據:
1
innodb引擎表開啟了事務,執行dml語句,比如delete、update、insert之類,並且沒有提交即commit操作的話,可以執行rollback進行回滾恢復。如果是ddl操作,如drop、create、alter之類的操作時無效的
2
在進行刪除操作之前有備份,比如mysqlmp,物理備份數據文件之類的操作,那麼可以恢復到刪除前的數據
3
如果你的刪除操作是直接對data下的文件進行刪除,注意,不是粉碎文件操作,那麼你可以嘗試用磁碟恢復軟體來找回被誤刪的數據文件;
除以上情況,其他真的是沒法恢復了,不過貌似很多公司號稱能夠恢復,要收費,具體他們怎麼恢復我就不曉得了。

『拾』 sql server update的數據怎麼恢復

你好,
在重新貼過update語句更新成以前的數據啊,至於其他辦法似乎沒有了。。
希望回答對您有幫助.