Sql-Server

系統數據庫的 Ola Hallengren 事務日誌備份

  • August 16, 2019

我正在嘗試備份除 msdb 之外的 master、model 的事務日誌。

MSDB事務日誌備份沒有任何問題,但主伺服器和模型沒有。

這是我包含在新代理作業中的腳本(從 DatabaseBackup - System_Database - Full 複製),我將其命名為 DatabaseBackup - System_Database - Log。

sqlcmd -E -S $(ESCAPE_SQUOTE(SRVR)) -d master -Q "EXECUTE [dbo].[DatabaseBackup] @Databases = 'SYSTEM_DATABASES', @Directory = N'\\synologymb\sql backups' , @BackupType = 'LOG', @Verify = 'Y', @CleanupTime = 24, @CheckSum = 'Y', @LogToTable = 'Y'" -b

根據此 Microsoft 文件

為了向後兼容早期版本的 Microsoft SQL Server,可以將 master 的恢復模式設置為 FULL 或 BULK_LOGGED。但是,master 不支持 BACKUP LOG。因此,即使將 master 的恢復模式更改為 full 或 bulk-logged,數據庫仍會像使用簡單恢復模式一樣繼續執行。

所以這就是為什麼您無法獲得 Master 的事務日誌備份的原因。

從同一份文件中:

最佳實踐:我們建議您根據需要僅創建模型的完整數據庫備份。由於模型很小且很少更改,因此無需備份日誌。

雖然這並沒有明確說明 SQL 會阻止 Model 的事務日誌發生,但它肯定不建議這樣做。

注意:這是文件的舊版本(2008 R2)。新版本(我檢查了 2017 年)不會重複有關 Master 的細節,但它們也不與之相矛盾。

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