Sql-Server

DPM 在受保護的 SQL Server 上在哪裡使用空間?

  • August 8, 2018

我正在使用 Microsoft System Center Data Protection Manager 2016 來保護 Windows Server 2016 上的 SQL Server 2017。我相信,每當 DPM 進行備份(同步或快速完整)時,它會在數據之前暫時使用 SQL Server 主機上的一些空間傳送到 DPM 伺服器。

我在https://blogs.technet.microsoft.com/dpm/2013/08/21/optimizations-in-protecting-sql-databases-with-high-中找到了對這種信念的一些支持,特別是事務日誌備份churn-by-dpm/ 說(部分)

臨時事務日誌文件儲存在名為“DPM_SQL_POTECT\”+“MachineName”+“SQL Server 實例名稱\”+“數據庫名稱”+“_log.ldf\Backup\”的文件夾中。此文件夾創建在與日誌定義文件位置相同的位置。

(請注意,在文章的其他地方,很明顯目錄名稱實際上是開始DPM_SQL_PROTECT的,我引用的部分只是一個錯字)。

但是,我無法找到有關快速完整備份(這將是 SQL Server 完整數據庫備份)的臨時空間使用情況的任何類似資訊。查看受保護 SQL Server 上的 DPMRA.errlog 文件表明使用了本地 VSS 卷影副本空間:

CMultiVolumeUsnIterator:AddIncludeFiles(filepath:e:\Program Files\Microsoft SQL Server\MSSQL14.SQLNGR1\MSSQL\Data, filespec:kslds.mdf, snapshotpath:?\GLOBALROOT\Device \HarddiskVolumeShadowCopy9\Program Files\Microsoft SQL Server\MSSQL14 .SQLNGR1\MSSQL\數據)

但我不確定我是否正確解釋它。此外,在該受保護伺服器上,即使已完成許多快速完整備份,vssadmin list shadowstorage報告

未找到滿足查詢的項目。

這似乎與正在使用 VSS 空間的想法相矛盾。

最後,SQL Server 自己的日誌有對應於快速完整備份的條目,這些備份將轉儲設備標識為

設備資訊:(FILE=1,TYPE=VIRTUAL_DEVICE:{’{990A7582-1356-4B6B-8D70-8F3235748794}1’})

其中 GUID 似乎每次都在變化,但我無法找到任何關於虛擬設備背後的真實儲存的解釋。

有人知道如何確定(或許還可以控制)受保護伺服器上用於這些備份的位置和空間量嗎?

謝謝!

馬丁

根據 Microsoft 支持,對拼寫錯誤等進行了少量編輯:

在快速完整備份的情況下,DPM 將創建託管 SQL 數據庫文件的捲的捲影副本。當寫入 SQL 日誌和數據庫文件時,寫時複製會將數據複製到位於系統卷資訊文件夾中的快照文件中。快照的大小將取決於備份的持續時間和備份過程中的數據變動量(對文件的更改)。

該空間用於託管數據庫和日誌文件的捲。對於 Express Full,您可以使用 VSSADMIN.EXE 通過刪除目前的影子儲存空間並將其添加到另一個卷來重定向 VSS 快照的位置。例如,從 E: 移動到 S: 卷:

vssadmin Delete ShadowStorage /For=E: /On=E:
vssadmin Add ShadowStorage /For=E: /On=S: /MaxSize=UNBOUNDED

同樣根據 MS 支持:

如果所有 SQL 數據庫都在同一個保護組中,它們將連續備份,並且每次備份都會創建一個新的捲影副本,一次一個。如果 SQL DB 位於單獨的 PG 中但計劃同時執行,則多個卷影副本將處於活動狀態。

最後,MS Support 確認關於儲存事務日誌文件臨時副本的描述(如問題中所述)對於 SQL Server 2017、DPM 2016 和 Windows Server 2016 仍然正確。

引用自:https://serverfault.com/questions/924511