zoukankan      html  css  js  c++  java
  • MSSQL在线文件还原脚本

    在线文件还原:如果比较大的MSSQL数据库的损坏只是集中在其中某一个文件或者文件组上,使用在线文件还原技术,
    只是把坏掉的数据文件或者文件组重建,能节约很多时间。
    以下是测试脚本(假设损坏的文件时Trn01):

    --首先还原损坏的文件Trn01(执行这一步之前,你必须取得数据库的独占访问权):
    RESTORE DATABASE [AdventureWorks] FILE=N'Trn01' FROM DISK=N'D:BACKUP_TESTAD_FULL.BAK' WITH NORECOVERY,STATS=10
    --如果不是企业版,将会出现错误消息 3159,提示你需要使用BACKUP LOG WITH NORECOVERY 备份尾日志,意味着您只能离线文件还原。
    --BACKUP LOG [AdventureWorks] TO DISK =N'D:BACKUP_TESTLog_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_TESTLog_BACK_TAIL.TRN' WITH COPY_ONLY,COMPRESSION,STATS=10 --依次还原日志: RESTORE LOG [AdventureWorks] FROM DISK=N'D:BACKUP_TESTLOG_BACK_1.TRN' WITH NORECOVERY,STATS=10 RESTORE LOG [AdventureWorks] FROM DISK=N'D:BACKUP_TESTLOG_BACK_2.TRN' WITH NORECOVERY,STATS=10 --还原文件离线时点的日志: RESTORE LOG [AdventureWorks] FROM DISK=N'D:BACKUP_TESTLog_BACK_TAIL.TRN' WITH RECOVERY,STATS=10
  • 相关阅读:
    简单的本地注册与登陆的功能
    Android 简单统计文本文件的字符数、单词数、行数、语句数Demo
    个人项目需求与分析——点菜系统App
    强大的健身软件——Keep
    大学生三大痛点
    我推荐的一款实用APP-圣才电子书
    PropertyDescriptor和BeanUtils使用去获得类的get 和 setter访问器
    神奇的 Object.defineProperty
    用cudamat做矩阵运算的GPU加速
    Java并发编程概要
  • 原文地址:https://www.cnblogs.com/ajiangg/p/3904397.html
Copyright © 2011-2022 走看看