`
zhangziyangup
  • 浏览: 1186382 次
文章分类
社区版块
存档分类
最新评论

使用文件和文件组备份可以恢复表数据吗?

 
阅读更多

以前有人问过我SQL Server backup命令是不是支持单表备份,SQL Server是没有Backup table命令的。当时我的建议是用SSIS导出到文件系统,其他数据库或者用文件组备份。现在想想单纯靠文件组备份不一定解决表还原问题。

对于文件组还原要求所有的文件组都要在同一个时间点上,这样才能保证数据库的连续性。如果我们发现文件组中的数据被被删除,那么我们需要首先恢复文件组备份然后再一次还原日志备份(如果是在线备份的日志备份是在错误发生后产生的),使还原的文件组跟其他文件组保持在同一时间点,这时还原的文件组才能Online.这时候数据已经没有了。

即使我们想直接把文件组还原到其他服务器上也是不可能的,因为数据文件的GUID属性。 所以在这种情况下还是要用到数据库还原。

下面是我自己做的一个测试:


USE [master]
GO
create database DBA
go
ALTER DATABASE [DBA] ADD FILEGROUP [Group]
GO
ALTER DATABASE [DBA] ADD FILE ( NAME = N'Group',
FILENAME = N'D:\MSSQL\Group.ndf' ,
SIZE = 3072KB , FILEGROWTH = 1024KB ) TO FILEGROUP [Group]
GO


--在文件组上创建表并且插入1000条数据
use DBA
go
create table test (name varchar(10)) on [group]
go
insert into test values ('allen')
go 1000


use master
go
--对文件组Group做全备份
BACKUP DATABASE DBA FILEGROUP ='GROUP' TO DISK ='D:\MSSQL\Group.bak'

use DBA
go
--删除数据
delete top (10) from test

use master
go
--FileGroup出现故障需要恢复,现在只需要从文件组恢复
restore database DBA filegroup ='group' from disk ='D:\MSSQL\Group.bak' with recovery

--现在我们做一个日志备份以确保捕获到该文件脱机时的点
backup log DBA to DISK ='D:\MSSQL\Group_Log_Final.trn'--查询Group的状态为RESTORING

---查看现在文件组的状态

use DBA
GO
select state_desc,name from sys.database_files

---显示Group文件组状为Restoring,因为还没有和其他文件组在同一个时间点,我们需要用上面备份的日志还原并且将文件组Online


use master
go
restore log DBA From DISK ='D:\MSSQL\Group_Log_Final.trn' with recovery


use DBA
GO
select state_desc,name from sys.database_files where name ='Group'

--数据库已经Online了
state_desc name
------------------------------------------------------------ --------------------------------------------------------------------------------------------------------------------------------
ONLINE Group

(1 row(s) affected)

--查看数据位990条不是1000条,所以数据不能够恢复
use DBA
gO
select COUNT(*) from test;

-----------
990

(1 row(s) affected)

我也是第一次使用文件组备份恢复如果大家觉得上面的逻辑有错误欢迎指正。

分享到:
评论

相关推荐

    sqlserver数据库从备份文件中恢复表数据

    这需要使用到`RESTORE TABLE`(在较新版本的SQL Server中称为`RESTORE FILELISTONLY`和`RESTORE HEADERONLY`)来获取表的物理文件路径,然后通过分离和附加表的方式实现。这种方法较为复杂,通常适用于特殊情况。 ...

    Oracle 备份、恢复单表或多表数据步骤

    当需要恢复数据时,可以使用 `imp` 命令来完成。 1. **恢复命令**: ```plaintext imp user/password@server file=filefullpathname log=logfullpathname full=y ``` 其中: - `user/password@server` 同上。 ...

    winccflexible备份恢复.pdf

    2.提高工作效率:备份恢复可以快速恢复数据,提高工作效率。 3. 减少 downtime:备份恢复可以减少设备 downtime,提高生产效率。 WinCC Flexible 备份恢复是 industrial automation 项目的重要组成部分,能够保护...

    备份和恢复MYSQL数据表

    综上所述,MySQL 提供了多种方法来备份和恢复数据表,可以根据实际需求选择合适的方式。无论是在开发环境中还是生产环境中,合理地运用这些工具都能帮助我们更好地管理和保护数据库中的宝贵数据。

    MySQL数据库备份和恢复

    而对于InnoDB表,可以通过拷贝数据文件和日志文件来实现备份。 #### mysqldump的高级使用技巧 - **兼容性参数**:`--compatible=name`用于确保导出的数据与特定的数据库或MySQL版本兼容。 - **完整插入模式**:`--...

    Oracle 11g R2 Rman备份与恢复_刘耀龙的博客-CSDN博客_rman备份.pdf

    物理备份涉及操作系统的物理文件,包括数据文件、控制文件和日志文件,它可以是脱机(冷备份)或联机(热备份)。而逻辑备份则侧重于数据库逻辑组件,如表、存储过程等。Oracle 提供了多种方式进行逻辑备份,如 EXP ...

    安卓备份文件ab文件解压工具

    总的来说,“安卓备份文件ab文件解压工具”是Android用户和开发者处理备份数据的重要辅助工具,它简化了对`ab`文件的操作,使数据恢复和分析变得更为便捷。通过掌握这个工具的使用,用户可以更好地管理和保护自己的...

    mysql Xb文件--逻辑备份恢复数据库.docx

    MySQL的Xb文件是用于逻辑备份和恢复数据库的一种格式,它结合了qpress压缩工具和xbstream工具,提供了一种高效的数据存储和恢复方案。在MySQL中,逻辑备份通常指的是通过`mysqldump`等工具生成的SQL脚本,而物理备份...

    Oracle19c rac备份数据通过rman恢复到单实例

    在进行Oracle 19c RAC(Real Application Clusters)数据库的数据备份与恢复操作时,可能会遇到需要将RAC集群环境下的备份数据恢复到单实例环境中的场景。这种情况下,RMAN(Recovery Manager)作为Oracle提供的强大...

    实验4 数据库备份与恢复实验 (2).docx

    * 逻辑备份是指将数据库中的数据导出到文件中,以便在需要时可以恢复数据。 知识点2: mysqldump 命令 mysqldump 命令是一个常用的数据库备份工具,可以用来备份单个表、整个数据库或多个数据库。mysqldump 命令...

    Motorola GP GM系列数据备份恢复工具V3.0.rar

    摩托罗拉GP GM系列数据备份恢复工具是一款专为摩托罗拉GP和GM系列对讲机设计的专业软件,用于帮助用户安全地备份设备上的重要数据,并在必要时进行恢复。这款工具的强大之处在于它能确保对讲机的设置、联系人列表、...

    oracle之数据备份恢复案例

    Oracle 数据恢复是指在数据丢失或损坏后,利用备份文件和归档日志等手段恢复数据的过程。恢复通常分为完全恢复和不完全恢复两种。 1. **完全恢复**:完全恢复是指将数据库恢复到最新状态的过程。这意味着从最近的一...

    备份&恢复iFIX.pdf

    iFIX备份和恢复向导 本文档详细介绍了iFIX的备份和恢复向导,指导用户手动备份iFIX系统的项目...通过遵循本文档中的步骤和注意事项,可以成功地备份和恢复iFIX系统的项目工程文件,确保iFIX系统的稳定运行和数据安全。

    sql server 表数据转移,文件组,文件组数据文件建立

    - **简化备份与恢复**:允许按文件组进行备份和恢复操作,增强了灵活性。 - **资源隔离**:对于大型数据库,可以通过文件组实现不同业务数据的物理隔离,提高系统的稳定性和安全性。 #### 三、创建文件组与数据文件...

    Linux XFS文件系统误删除文件恢复.pdf

    这就为我们恢复数据提供了可能。 Linux XFS 文件系统误删除文件恢复思路 在 Linux XFS 文件系统中,误删除文件可以通过以下步骤恢复: 1. 数据保护与备份:当文件删除后,必须立即采取保护措施,防止数据被覆盖...

    Oracle11g备份恢复笔记文档

    常用的处理方式包括使用备份恢复数据、利用闪回技术等。 - **Media Failure**:介质故障(例如磁盘损坏)是最严重的故障类型之一,这种情况下只能通过备份和日志文件来恢复数据。 #### 二、备份和恢复计划 - **...

    阿里云 RDS for MySQL 备份文件恢复至自建数据库 .docx

    我们将讨论物理备份和逻辑备份的差异,并探讨如何下载和解压备份文件,恢复数据,并修改配置文件参数。 阿里云 RDS for MySQL 的备份策略分为两种:物理备份和逻辑备份。物理备份使用 Percona Xtrabackup 工具对...

    oracle备份文件恢复ocr和voting

    通过上述步骤,管理员可以确保在OCR和投票文件出现故障时,能够快速有效地进行恢复,从而保证Oracle集群的稳定运行和数据的高可用性。在实际操作中,每个步骤都需要仔细执行,任何操作错误都可能导致集群不可用或...

Global site tag (gtag.js) - Google Analytics