分享

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

 看见就非常 2014-10-01

 以前有人问过我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)

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多