标签:style blog color 使用 io strong 文件 数据
在线文件还原:如果比较大的MSSQL数据库的损坏只是集中在其中某一个文件或者文件组上,使用在线文件还原技术,
只是把坏掉的数据文件或者文件组重建,能节约很多时间。
以下是测试脚本(假设损坏的文件时Trn01):
--首先还原损坏的文件Trn01(执行这一步之前,你必须取得数据库的独占访问权): RESTORE DATABASE [AdventureWorks] FILE=N‘Trn01‘ FROM DISK=N‘D:\BACKUP_TEST\AD_FULL.BAK‘ WITH NORECOVERY,STATS=10 --如果不是企业版,将会出现错误消息 3159,提示你需要使用BACKUP LOG WITH NORECOVERY 备份尾日志,意味着您只能离线文件还原。
--BACKUP LOG [AdventureWorks] TO DISK =N‘D:\BACKUP_TEST\Log_BACK_TAIL.TRN‘ WITH NORECOVERY,COMPRESSION,STATS=10 --啰嗦一句,如果是企业版,执行完成后此时你可以放开独占访问权了。(如果是通过更改为SINGLE_USER模式的话,现在可以改为MULTI_USER放开访问了) --但此时Trn01所属的文件组TRN不能被访问,TRN文件组以外的数据库内容可以被访问。 --如果试图访问Trn01中的表,将出现如下的错误消息: --消息 8653,级别 16,状态 1,第 2 行 --查询处理器无法为表或视图“***”生成计划,因为该表驻留在不处于联机状态的文件组中。 --备份文件离线时点的日志: BACKUP LOG [AdventureWorks] TO DISK =N‘D:\BACKUP_TEST\Log_BACK_TAIL.TRN‘ WITH COPY_ONLY,COMPRESSION,STATS=10 --依次还原日志: RESTORE LOG [AdventureWorks] FROM DISK=N‘D:\BACKUP_TEST\LOG_BACK_1.TRN‘ WITH NORECOVERY,STATS=10 RESTORE LOG [AdventureWorks] FROM DISK=N‘D:\BACKUP_TEST\LOG_BACK_2.TRN‘ WITH NORECOVERY,STATS=10 --还原文件离线时点的日志: RESTORE LOG [AdventureWorks] FROM DISK=N‘D:\BACKUP_TEST\Log_BACK_TAIL.TRN‘ WITH RECOVERY,STATS=10
标签:style blog color 使用 io strong 文件 数据
原文地址:http://www.cnblogs.com/ajiangg/p/3904397.html