1 pièce(s) jointe(s)
Message d'erreur avec l’existence du dossier
bonjour a tous
j’utilise ce petit script pour le backup de mes bases de données
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| Import-Module "SQLPS" -DisableNameChecking
$ServerName = ".\sqlprod"
$SQLSvr = New-Object -TypeName Microsoft.SQLServer.Management.Smo.Server($ServerName)
$Db = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Database
foreach ($db in $SQLSvr.Databases | Where-Object {$_.Name -ne "tempdb"}){
if (!(test-path -path c:\folder\$db))
{New-Item -ItemType directory -Path c:\folder\$db
$path="c:\folder\"+$db
}
else
{write-error "folder existant"
}
$Backup = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Backup
$Backup.Action = [Microsoft.SQLServer.Management.SMO.BackupActionType]::Database
$backup.BackupSetDescription = "Full Back of "+$Db.Name
$Backup.Database = $db.Name
$BackupName = $path+"\"+$Db.Name+"_"+[DateTime]::Now.ToString("yyyyMMdd_HHmmss")+".bak"
$DeviceType = [Microsoft.SqlServer.Management.Smo.DeviceType]::File
$BackupDevice = New-Object -TypeName Microsoft.SQLServer.Management.Smo.BackupDeviceItem($BackupName,$DeviceType)
$Backup.Devices.Add($BackupDevice)
$Backup.SqlBackup($SQLSvr)
$Backup.Devices.Remove($BackupDevice)
} |
je teste l'existant du fichier du backup a travers cette ligne
Code:
1 2 3 4 5 6 7
| if (!(test-path -path c:\folder\$db))
{New-Item -ItemType directory -Path c:\folder\$db
$path="c:\folder\"+$db
}
else
{write-error "folder existant"
} |
le pb si le dossier existe il me renvoi une erreur d’existence qui a une idée comment je peut corriger ça