‘壹’ 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语句更新成以前的数据啊,至于其他办法似乎没有了。。
希望回答对您有帮助.