Sql-Server

在 MSSQL 中保留文件組或文件流備份的目的是什麼?

  • September 6, 2019

我是 SQL SERVER 的新 DBA。目前我正在學習 SQL 伺服器上的文件流。因此,我嘗試僅將文件流的文件組恢復到其他數據庫,但收到一條錯誤消息:

執行 Transact-SQL 語句或批處理時發生異常。(Microsoft.SqlServer.ConnectionInfo)

文件 ’testdb1’ 未在設備 ‘C:\data\New folder\FSbackup.bak’ 上的文件 1 中備份。無法從此備份集中恢復文件。RESTORE DATABASE 異常終止。(Microsoft SQL Server,錯誤:3144)

是否可以僅將文件流還原到其他數據庫或僅將舊版本的文件流還原到 FILESTREAM 的目前數據庫?

所以我嘗試僅將文件流的文件組恢復到其他數據庫,但我收到一條錯誤消息

正如Laughing Vergil最初在評論中提到的那樣,您的問題在這篇很棒的 Stack Overflow 文章中得到了回答:將文件組還原到不同的數據庫

答案的要點是,您始終必須從使用 PRIMARY 文件組恢復數據庫開始。然後您可以在此之後恢復其他文件組(如文件流之一)。這稱為“零碎恢復”,並在文件中進行了描述

是否可以僅將文件流還原到其他數據庫

不,如上所述,它需要與 PRIMARY 文件組一起恢復。

還是僅將舊版本的文件流恢復到目前的 FILESTREAM 數據庫?

Tibor在評論中回應了這一部分。基本答案是“不”。這是因為數據庫恢復的工作方式 - 您無法恢復來自不同時間點的數據庫的不同部分。

作為旁注,有一個與文件流文件組特別相關的限制:

如果部分還原序列不包括任何 FILESTREAM 文件組,則不支持時間點還原。

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