当前位置:首页 » 编程语言 » sql数据误删除
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql数据误删除

发布时间: 2022-07-26 09:29:22

sqlserver数据库表数据误删除了 怎么恢复

恢复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到被删除的表中。