Sql-Server

SQL Server 錯誤“缺少系列序列號 2”

  • December 18, 2019

我正在嘗試在我的伺服器上恢復本地數據庫,但我遇到了備份問題。我做了一個文件**.bak**但每次我嘗試將它載入到伺服器上時它都不允許我這樣做。

這是我收到的錯誤消息的螢幕截圖:

在此處輸入圖像描述

我讀到我可以用它RESTORE LABELONLY來恢復我的文件,但仍然無法正常工作,每次執行它時都會得到如下資訊:

無法打開備份設備“C:\Program Files\Microsoft SQL Server\MSSQL10_50.JOSEMA\MSSQL\Backu\INNOVA-T.bak”。作業系統錯誤 3(無法檢索此錯誤的文本。原因:15105)。Msg 3013, Level 16, State 1, Line 1 RESTORE LABELONLY 異常終止

任何幫助都會很棒。謝謝你。

該錯誤表明您的.bak文件只是備份的一部分。寫入備份時,它是跨三個文件寫入的。如果您可以將備份寫入多個驅動器上的多個文件,它通常會更快地完成。

根據這個 StackOverflow Q & ARESTORE LABELONLY應該可以幫助您確認備份跨越多個文件,但它不會讓您實際恢復備份 - 您需要所有三個文件。

如果您可以找到所有三個文件(並確保它們來自同一備份執行),您應該能夠恢復備份 - 您需要在RESTORE命令中指定所有三個文件(或通過 SSMS 恢復對話)。

如果你不能,但你仍然可以訪問原始伺服器,那麼你可以進行新的備份。

注意:如果該原始伺服器有 DBA,請與他合作。您希望確保備份不會導致任何複製、日誌傳送或恢復到某個時間點的能力出現問題。

如果您實際上是 DBA,那麼:

  • 進入 SQL Server Management Studio (SSMS),連接到伺服器,然後展開數據庫。

  • 右鍵點擊原始數據庫,然後選擇 Tasks -> Backup… 將打開一個對話框視窗。

  • 在對話框的第一頁:

    • 確保選擇要備份的數據庫作為源數據庫。

    • 確保備份類型為“完整”。

    • 選中**“**僅複製備份”。

    • 確保備份組件設置為“數據庫”

    • 在視窗底部:如果“目的地”列表中有任何現有條目,請將其刪除。

    • 點擊“添加”以添加新的備份文件。確保您知道文件將在哪裡(通常,您只能選擇使用此介面寫入數據庫伺服器的本地磁碟;如果您需要寫入共享伺服器上的文件夾,您可以嘗試粘貼共享伺服器的完整 UNC 路徑並在文件選擇對話框中輸入新文件名。如果這不起作用,請指定本地驅動器和唯一文件名)。此外,請確保文件名是唯一的 - 您不想覆蓋伺服器上的任何現有文件。

    • 當您回到原來的備份對話框視窗時,切換到“選項”頁面(視窗左側)。

    • 在“覆蓋媒體”下,選擇“備份到新的媒體集,並刪除所有現有的備份集”。

      • 是的,這聽起來很嚇人——但是,這主要用於重新初始化備份磁帶,以便刪除所有舊數據;只要您正在寫入新文件名,一切都應該沒問題。
      • 為媒體集輸入一個新的 - 類似“ - 一次備份”就足夠了。
    • 您可以在“可靠性”下設置一些選項;我只是把它們都關了。

    • 您也可以接受“設置備份壓縮”的預設值;我可能會將山雀設置為“壓縮備份”,但這並不重要。(如果您沒有執行 SQL Server 2008 或更高版本,那麼這要麼根本不存在,要麼不相關)。

    • 不要點擊“確定”,而是點擊對話框視窗頂部“腳本”旁邊的小箭頭,然後選擇“腳本操作到新查詢視窗”。看到腳本後,點擊“取消”。

  • 仔細檢查腳本 - 其中應該只包含一個文件。

  • 如果要將文件寫入其他位置,可以在腳本中更改文件路徑。同樣,伺服器需要能夠訪問您指定的位置,因此用於執行 SQL Server 服務(和/或 SQL Server 代理服務)的帳戶需要能夠訪問您要寫入文件的路徑。

  • 現在,執行腳本。

假設一切順利,您現在可以使用新的備份文件執行恢復到其他位置。同樣,您要還原到的 SQL Server 需要有權訪問備份文件,因此您可能希望將其複製到該伺服器。

引用自:https://dba.stackexchange.com/questions/192107