While presenting Backup Basics with Powershell and dbatools at ONDT, I mentioned a caveat with the
-ReplaceExisting switch for
Install-DbaMaintenanceSolution. This switch drops all of the objects installed by the Maintenance Solution, including the
CommandLog table. If you use that table to produce evidence that the various maintenance tasks are being performed on a regular basis or use it to track performance of those tasks over time, dropping that table presents a problem.
The question of how to upgrade the Maintenance Solution via dbatools was raised. If
-ReplaceExisting has those pitfalls, there must be another way to update it, right? My takeaway from the presentation was to find out what that method is.
As it turns out, you can’t do this as far as I can tell. At least not in the current incarnation of
Install-DbaMaintenanceSolution. There’s an open issue in dbatools to address this, #6512
Until this enhancement is implemented, the workaround is to download the script(s) either from Ola’s website or his GitHub repository. Run each of the
.sql files (except for
MaintenanceSolution.sql) individually to install the updated stored procedures, and you’ll be set.