dbatools,DbcCheck 最備份份
上週我開始
dbccheck
在我的測試系統上進行測試。我發現了一件奇怪的事情,我不知道是什麼問題,最後一次完整備份已經有幾個小時了,但是 dbccheck 列印一個錯誤。下面你可以看到我的步驟:
安裝dba檢查
- 基於 chrissy lemaire 的部落格(感謝 chrissy,幹得好)
更改配置
Set-DbcConfig -Name policy.backup.fullmaxdays 3 Set-DbcConfig -Name policy.backup.logmaxminutes 720
第一次檢查
$server = "ALET21" Invoke-DbcCheck -SqlInstance $server -Check LastBackup
這裡的結果:
dbccheck 列印錯誤
我用 PS 命令做了同樣的測試,你可以看到結果:
知道有什麼問題嗎?
AdminDB DB 不是新的,創建日期是 23.11.2016。我也將其更新
policy.backup.newdbgraceperiod
為 1,但我遇到了同樣的問題,如下所示:看起來 dbacheck 模組是最新的:
我將假設這個數據庫(AdminDB)是新創建和新備份的?
由於新數據庫未通過這些測試,因此為此創建了一個問題。 https://github.com/sqlcollaborative/dbachecks/issues/207
創建了一個新配置“ policy.backup.newdbgraceperiod ”(預設值為 0 表示 0 小時),它不包括創建的新數據庫。
例如,它預設為 0,因此它包括所有新數據庫,例如
(Get-Date).AddHours( - (policy.backup.newdbgraceperiod) )
如您所見,新數據庫QuickBackup失敗。
現在,當我們為新數據庫允許 1 小時的寬限期時:
Set-DbcConfig -Name policy.backup.newdbgraceperiod -Value 1
我們的新數據庫現在被排除在外:
我認為您使用的是舊版本的 dbachecks。
請您通過比較最新版本來檢查
(Find-Module dbachecks).Version
和
(Get-Module dbachecks).Version.ToString()
我認為你正在解決這個問題
https://github.com/sqlcollaborative/dbachecks/issues/410
因為備份日期返回的值為空。這是上周修复的
您可以獲取最新版本(以及使用 PowerShell 庫中的任何模組)
Update-Module dbachecks