Dbatools

dbatools,DbcCheck 最備份份

  • March 27, 2018

上週我開始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

dbccheck 列印錯誤

我用 PS 命令做了同樣的測試,你可以看到結果:

結果 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

如您所見,新數據庫QuickBackup失敗。

現在,當我們為新數據庫允許 1 小時的寬限期時:

Set-DbcConfig -Name policy.backup.newdbgraceperiod -Value 1

值設置為 0

我們的新數據庫現在被排除在外:

快速備份不再存在

我認為您使用的是舊版本的 dbachecks。

請您通過比較最新版本來檢查

(Find-Module dbachecks).Version

(Get-Module dbachecks).Version.ToString()

我認為你正在解決這個問題

https://github.com/sqlcollaborative/dbachecks/issues/410

因為備份日期返回的值為空。這是上周修复的

您可以獲取最新版本(以及使用 PowerShell 庫中的任何模組)

Update-Module dbachecks

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