国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
使用文件和文件組備份可以恢復(fù)表數(shù)據(jù)嗎?

 以前有人問過我SQL Server backup命令是不是支持單表備份,SQL Server是沒有Backup table命令的。當時我的建議是用SSIS導(dǎo)出到文件系統(tǒng),其他數(shù)據(jù)庫或者用文件組備份。現(xiàn)在想想單純靠文件組備份不一定解決表還原問題。

 

對于文件組還原要求所有的文件組都要在同一個時間點上,這樣才能保證數(shù)據(jù)庫的連續(xù)性。如果我們發(fā)現(xiàn)文件組中的數(shù)據(jù)被被刪除,那么我們需要首先恢復(fù)文件組備份然后再一次還原日志備份(如果是在線備份的日志備份是在錯誤發(fā)生后產(chǎn)生的),使還原的文件組跟其他文件組保持在同一時間點,這時還原的文件組才能Online.這時候數(shù)據(jù)已經(jīng)沒有了。

 

即使我們想直接把文件組還原到其他服務(wù)器上也是不可能的,因為數(shù)據(jù)文件的GUID屬性。 所以在這種情況下還是要用到數(shù)據(jù)庫還原。

 

下面是我自己做的一個測試:

 


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


--在文件組上創(chuàng)建表并且插入1000條數(shù)據(jù)
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
--刪除數(shù)據(jù)
delete top (10) from test

use master
go
--FileGroup出現(xiàn)故障需要恢復(fù),現(xiàn)在只需要從文件組恢復(fù)
restore database DBA filegroup ='group' from disk ='D:\MSSQL\Group.bak' with recovery

 

--現(xiàn)在我們做一個日志備份以確保捕獲到該文件脫機時的點
backup log DBA to DISK ='D:\MSSQL\Group_Log_Final.trn'--查詢Group的狀態(tài)為RESTORING

---查看現(xiàn)在文件組的狀態(tài)

use DBA
GO
select state_desc,name   from sys.database_files 

---顯示Group文件組狀為Restoring,因為還沒有和其他文件組在同一個時間點,我們需要用上面?zhèn)浞莸娜罩具€原并且將文件組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'

--數(shù)據(jù)庫已經(jīng)Online了
state_desc                                                   name
------------------------------------------------------------ --------------------------------------------------------------------------------------------------------------------------------
ONLINE                                                       Group

(1 row(s) affected)

--查看數(shù)據(jù)位990條不是1000條,所以數(shù)據(jù)不能夠恢復(fù)
use DBA
gO
select COUNT(*) from test;

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

(1 row(s) affected)

我也是第一次使用文件組備份恢復(fù)如果大家覺得上面的邏輯有錯誤歡迎指正。 

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
SQL Server 大數(shù)據(jù)搬遷之文件組備份還原實戰(zhàn)
SQL數(shù)據(jù)庫三種恢復(fù)模型
SQL語言 備份數(shù)據(jù)庫
SQL SERVER將數(shù)據(jù)移到另一個文件組之后清空文件組并刪除文件組
分區(qū)的表和索引
數(shù)據(jù)庫的結(jié)構(gòu)、創(chuàng)建、使用
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服