zoukankan      html  css  js  c++  java
  • 无法使用备份文件,因为原先格式化该文件时所用扇区大小为 512,而目前所在设备的扇区大小为 4096

    【1】报错信息

    备份:

      

    还原:

      

    【2】备份报错的解决分析

    下面这行话参考引用:https://blog.csdn.net/qq_36872323/article/details/106671153

    【这个问题之所以会出现,是因为你现在的数据库是用了备份文件还原的数据库,然后再自己数据库二次备份,两次数据库不一样,所以当前数据库不支持在原备份文件上备份】

    我的分析:

      上面那篇文章说出了核心问题;但没有说出核心原因;

            (1)原备份(假如叫 A.bak):

        (1.1)这个有可能是因为自己低版本的sql server 或者高版本的 sql server 备份出来的全备文件(不过绝大多数情况是生成 A.bak 的sql server版本 比当前sql server版本低的)。

            如果是高版本sql server备份文件 在低版本sql server 上还原报错会如下图:

            

        (1.2)可能是不同的磁盘、不同的磁盘文件格式(比如 ntfs 和 fat32),但本文图中很明显是 ntfs 512  和 ntfs 4096,扇区块大小不一致导致问题;

            

      (2)无法备份报错分析:

        (2.1)因为这个备份是追加到 A.bak 文件了,它的组织形式 和 当前磁盘(或者sql server数据库版本)的备份组织出来形成文件的格式不同,所以无法追加到这个文件里面去;

           (3)解决:删除 A.bak 文件   或者  备份到一个新的文件夹 或者备份成一个新名称;

    【3】还原报错的解决分析

      原理,和【2】中是一样的。

      如果是版本问题,则sql server bak备份文件,只能是低版本、同版本 还原到 同版本、高版本的sql server上去;

           如果是磁盘格式问题,则需要用相同的磁盘文件格式,否则无法还原。(或者另外想其他办法 做逻辑导出、生成脚本 等等通用办法)

  • 相关阅读:
    python中有哪些类型的布尔值是False?
    django中间件(获取请求ip)
    用python进行月份加减的函数
    Python取整函数
    Python里面search()和match()的区别
    在追灿公司的学习笔记
    Maven学习笔记
    天梯赛练习 L3-006 迎风一刀斩 (30分) 几何关系
    PAT甲级 1155 Heap Paths (30分) 堆模拟
    天梯赛练习 L3-016 二叉搜索树的结构 (30分)
  • 原文地址:https://www.cnblogs.com/gered/p/14267368.html
Copyright © 2011-2022 走看看