Rumah > pangkalan data > tutorial mysql > 记一次SQLServer数据库误删数据找回

记一次SQLServer数据库误删数据找回

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-07 15:40:48
asal
1478 orang telah melayarinya

昨天 同事在本机清理数据库表时,连接到了生产机,误删了二十几张表,幸好是晚上加班的时候删除的,生产机上当时是一天一备份,还原备份是最后的策略,最关键的还是要找回数据。 生产机环境是server2008 R2、 sqlserver2012,使用delete语句删除的表现在开始

        昨天 同事在本机清理数据库表时,连接到了生产机,误删了二十几张表,幸好是晚上加班的时候删除的,生产机上当时是一天一备份,还原备份是最后的策略,最关键的还是要找回数据。

        生产机环境是server2008 R2、 sqlserver2012,使用delete语句删除的表现在开始还原,还原可参考dudu的这篇文章(链接),其中使用Recovery for SQL Server工具还原,发现还原的数据字段值为demo,所以最后还是用sql命令去还原的,用sql命令,微软官方给的比较明细(链接)。

一、还原需要的条件设置

        使用命令,是通过sqlserver的事务日志以及一个误删除前的数据库的完整备份进行还原,所以在sqlserver2012的维护计划向导中,要建立完整备份,差异备份和事务日志,具体如下记一次SQLServer数据库误删数据找回

以及在数据库属性,选项设置中,设置为完整备份,具体如下图

记一次SQLServer数据库误删数据找回

做好如上两个设置,数据库误删后找回数据就会非常轻松,现在说一下如何还原sqlserver数据到故障点。

二、还原命令

还原主要分为四步走:

1、出现故障后,首先执行备份事务日志命令,这里以AdventureWorks作为数据库名。命令如下:

BACKUP LOG AdventureWorks TO DISK = 'C:\SQLServerBackups\AdventureWorks_transcationlog.bak'  
   WITH NORECOVERY; 
Salin selepas log masuk

2、从完整备份还原数据

RESTORE  DATABASE [QASupervision] FROM DISK=<span>'M:\Database\OA\AdventureWorks_Fullbackup_2014_03_18_010002_0155764.bak'</span> 
WITH  NORECOVERY, REPLACE 
Salin selepas log masuk

3、从差异备份还原数据

RESTORE DATABASE [QASupervision] FROM DISK=<span>'M:\Database\OA\AdventureWorks_diffbackup_2014_03_18_020002_0155764.bak'</span> WITH NORECOVERY, REPLACE 
Salin selepas log masuk

4、从事务日志还原数据,还原到某个时间点之前

DECLARE @dt datetime   
SELECT @dt=DATEADD(HOUR,-16,GETDATE())   
select @dt
RESTORE LOG [QASupervision] FROM DISK='C:\SQLServerBackups\AdventureWorks_transcationlog.bak'  WITH  STOPAT=@dt,RECOVERY
Salin selepas log masuk

5、还原数据库,如果数据库提示正在还原中,则执行此命令即可。

RESTORE DATABASE AdventureWorks WITH RECOVERY
Salin selepas log masuk
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Isu terkini
nginx - Tengine melaporkan 403 Ralat terlarang
daripada 1970-01-01 08:00:00
0
0
0
Mengapa ia masih melompat selepas mengembalikan palsu?
daripada 1970-01-01 08:00:00
0
0
0
Optimumkan indeks jadual dalam MySQL
daripada 1970-01-01 08:00:00
0
0
0
Mengapa saya tidak boleh memasangnya?
daripada 1970-01-01 08:00:00
0
0
0
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan