先週、テストシステムでdbccheck
のテストを開始しました。奇妙なことが1つ見つかりました。何が問題なのかわかりません。最後のフルバックアップは数時間前ですが、dbccheckはエラーを出力します。
次の手順をご覧ください。
インストールdbaチェック
構成の変更
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は新しいものではなく、作成日は2016年11月23日でした。また、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/41
バックアップ日に戻ってくる値がnullであるため。これは先週修正されました
これの最新バージョン(およびPowerShellギャラリーから任意のモジュールを使用して入手できます)
Update-Module dbachecks