Sql-Server
查找導致 VSS/VDI 備份的原因
這讓我有點困惑。如何確定哪個程序/程序正在通過 VSS/VDI 和 SQL Writer 服務進行文件級備份?我嘗試使用 Profiler 來跟踪備份/恢復事件,這只是向我展示了 SQL Writer 本身創建備份事件。我在 Windows 事件日誌中看不到任何指示與 SQL Writer 對話的內容,SQL Server 也沒有在其自己的錯誤日誌中放置任何有意義的內容。
我遇到了一種情況,即進行快照備份並破壞差異鏈,但我們不確定罪魁禍首是什麼。毫無疑問,它是某種備份代理,或者是與 SQL Writer 對話以允許 VM 快照的虛擬化助手,但我們需要一些方法來確定它。
首先,檢查 Windows 事件日誌。大多數備份軟體記錄在那裡。(它可能會進行整個作業系統的備份,而不僅僅是 SQL Server。)
通常,當您看到某物進行備份時,它具有系統管理員級別的權限。(您也可以使用 db_backupoperator 角色,但這很不尋常。)
所以要抓住做備份的事情:
- 製作具有系統管理員級別權限的登錄列表
- 開始審核他們的登錄事件(如登錄觸發器、Profiler、擴展事件等)
- 將登錄時間與備份事件相關聯
如果您像 Evil Admin Brent 一樣,請在使用時更改 SA 帳戶的密碼。您可能應該定期輪換它 - 特別是如果它多年來都一樣,並且您在團隊中有更替。如果備份應用程序使用該登錄名,presto,它將停止工作。(當然,您的備份也會如此,因此希望您有另一種備份解決方案,例如本地人。)
從經驗上講,如果您的 SQL Server 在 VMware 上執行,Hyper-V 只需查看備份軟體本身。我遇到了同樣的問題,因為 SQL 數據庫是在作業系統級別上備份的,在這之間我們有一個備份,在 .vmdk 級別上執行虛擬機本身的完整備份,這將觸發 SQL 編寫器凍結數據庫,例如創建快照從而破壞了完整的 inc/diff 鏈。