無法使用備份文件,因為原先格式化該文件時所用扇區大小為 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上去;

       如果是磁盤格式問題,則需要用相同的磁盤文件格式,否則無法還原。(或者另外想其他辦法 做邏輯導出、生成腳本 等等通用辦法)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM