Bonjour,
je viens de créer un script powershell mais j' aimerai l'améliorer notamment en récupérant le log de mon backup que je souhaiterais recevoir par mail
Pour l instant il fonctionne bien mais j' aimerais récupérer ce type de log
C'est le même typede log qu'on génére avec SSMS
3896 pages traitées pour la base de données 'XXXXX', fichier 'XXXXX' dans le fichier 3.
1 pages traitées pour la base de données 'XXXXX, fichier 'XXXXX' dans le fichier 3.
BACKUP DATABASE a traité avec succès 3897 pages en 0.651*secondes (46.766*Mo/s).
J' avais avant un batch qui me donnait le résultat
Voici l' ancien script:
ECHO Backing up database: %%I
SqlCmd -E -S %SRV% -Q "BACKUP DATABASE [%%I] TO Disk='%BCKFOLDER%\%NowDate%_%%I.bak'" -o "%LOGFOLDER%\%NowDate%_%%I.log"
Voici la partie du programme
try {
try {
$resultsDataTable = New-Object System.Data.DataTable
$Command = New-Object System.Data.SQLClient.SQLCommand
$Command.Connection = $sqlConnection
$Command.CommandText = "SELECT Name FROM master.dbo.sysDatabases WHERE [Name] NOT IN ('master','model','msdb','tempdb')"
$Reader = $Command.ExecuteReader()
$resultsDataTable.Load($Reader)
foreach ($Row in $resultsDataTable.Rows)
{
$dbname_exp=$($Row[0])
## déclaration des variables pour le backup
$namexport=$Bckfolder+$datexport+'-'+$dbname_exp+".bak"
$namelog=$Logfolder+'-'+$dbname_exp+".log"
$SqlQuery_export="BACKUP DATABASE ["+$dbname_exp+"] TO Disk='"+$namexport+"'"
Write-Output $SqlQuery_export | Out-File -FilePath e:\export_sqlcms.txt -Append
$Command.CommandText=$SqlQuery_export
$Reader = $Command.ExecuteReader()
$resultsDataTable.Load($Reader)
}
$Reader.Close()
$Reader.Dispose()
$resultsDataTable.Dispose()
}
Merci à tous pour votre aide
Partager