À l’aide du module PowerShell open source dbatools, je peux déployer la nouvelle version de de la procédure stockée. sp_whoisactive et celle solution https://ola.hallengren.com/ sur plusieurs instances SQL server en quelque minutes
Ci joint le code Powershell
La première ligne récupérera les listes de mes instances. après c’est une petit vérification d’existence de la base cible
après il téléchargera la dernière version et compilera la procédure stockée sur la base de données sur chacune des instances de cette liste
$servers=Get-Content C:\BACKUP\server.txt
$database = 'maintenance'
foreach($server in $servers)
{
$server = New-Object Microsoft.SqlServer.Management.Smo.Server -ArgumentList $server
$dbcheck = $server.Databases | Where-Object { $_.Name -eq $database }
if ($null -eq $dbcheck){
$db = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Database -Argumentlist $server, $database
$db.Create()
}
Else {
Install-DbaWhoIsActive -SqlInstance $server -database $database
Install-DbaFirstResponderKit -SqlInstance $server -Database $database
Install-DbaSqlWatch -SqlInstance $server
Install-DbaMaintenanceSolution -SqlInstance $server -Database $database -ReplaceExisting
}
}
Merci d’avoir lu