码迷,mamicode.com
首页 > 数据库 > 详细

MSSQL段落还原脚本

时间:2014-08-08 17:37:46      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   使用   io   文件   数据   art   

--段落还原:数据库损坏范围比较大,跨多个数据文件甚至跨文件组的时候,我们不得不恢复整个数据库。
--这时如果数据库特别大,数据库恢复时间将会很长。但我们可以使用SQL Server提供的段落还原,来逐步恢复数据库。
--首先备份尾日志: BACKUP LOG [AdventureWorks] TO DISK =ND:\BACKUP_TEST\LOG_BACK_TAIL.trn WITH NO_TRUNCATE ,NORECOVERY,COMPRESSION,STATS=10 --部分还原主文件组PRIMARY: RESTORE DATABASE [AdventureWorks] FILEGROUP=NPRIMARY FROM DISK=ND:\BACKUP_TEST\AD_FULL.bak WITH PARTIAL,NORECOVERY,STATS=10 --还原副文件组MST: RESTORE DATABASE [AdventureWorks] FILEGROUP=NMST FROM DISK=ND:\BACKUP_TEST\AD_FULL.bak WITH NORECOVERY,STATS=10 --依次还原日志: RESTORE LOG [AdventureWorks] FROM DISK=ND:\BACKUP_TEST\LOG_BACK_1.TRN WITH NORECOVERY,STATS=10 RESTORE LOG [AdventureWorks] FROM DISK=ND:\BACKUP_TEST\LOG_BACK_2.TRN WITH NORECOVERY,STATS=10 --还原尾日志并恢复 RESTORE LOG [AdventureWorks] FROM DISK=ND:\BACKUP_TEST\LOG_BACK_TAIL.TRN WITH RECOVERY,STATS=10 --此时AdventureWorks数据库中位于PRIMARY和MST文件组中的文件已经可以访问。 --但是位于其他文件组如:TRN文件组中的表还不能访问。 --消息 8653,级别 16,状态 1,第 2 行 --查询处理器无法为表或视图“****”生成计划,因为该表驻留在不处于联机状态的文件组中。
--接下来还原副文件组TRN: RESTORE DATABASE [AdventureWorks] FILEGROUP=NTRN FROM DISK=ND:\BACKUP_TEST\AD_FULL.bak WITH NORECOVERY,STATS=10
--如果数据库不是企业版,以上还原将会提示
尚未备份数据库 "AdventureWorks" 的日志尾部。”
--需要再次备份一次日志尾部,意味着还原副文件组TRN的时候整个数据库都处于正在还原状态。所以对于非企业版而言,只能离线段落还原,个人觉得意义不是很大...... --依次还原日志: RESTORE LOG [AdventureWorks] FROM DISK=ND:\BACKUP_TEST\LOG_BACK_1.TRN WITH NORECOVERY,STATS=10 RESTORE LOG [AdventureWorks] FROM DISK=ND:\BACKUP_TEST\LOG_BACK_2.TRN WITH NORECOVERY,STATS=10 --还原尾日志并恢复 RESTORE LOG [AdventureWorks] FROM DISK=ND:\BACKUP_TEST\LOG_BACK_TAIL.TRN WITH RECOVERY,STATS=10 --此时位于副文件组TRN中的表已经可以访问了。 --段落还原全部完成

 

MSSQL段落还原脚本,布布扣,bubuko.com

MSSQL段落还原脚本

标签:style   blog   color   使用   io   文件   数据   art   

原文地址:http://www.cnblogs.com/ajiangg/p/3899472.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!