Set-Location SQLSERVER:\SQL\MIM\SQL2008
Cd DataBases
Dir
$db = Get-Item .
$bTable = $db.EnumBackupSets()
foreach ($bRow in $bTable.Rows){
$bRow | Format-Table -Property Name, ID, ServerName, BackupStartDate
}
cd SqlServer:\SQL\MIM\SQL2008\
$serv = Get-Item .
$backup = New-Object Microsoft.SqlServer.Management.Smo.Backup
$backup.Action = [Microsoft.SqlServer.Management.Smo.BackupActionType]0
$backup.BackupSetDescription = "Backup base de donnée"
$backup.Database = "PerfSamples"
$backup.Incremental = 0
$backupDate = [System.DateTime]::Now
$backupName = [System.String]::Format("PerfSamplesBackupPowerShell_{0}.bak", $backupDate.Ticks)
$backupDevice = New-Object -TypeName Microsoft.SqlServer.Management.Smo.BackupDeviceItem
$backupDevice.DeviceType = [Microsoft.SqlServer.Management.Smo.DeviceType]2
$backupDevice.Name = $backupName
$backup.Devices.Add($backupDevice)
$expDate = New-Object System.DateTime -ArgumentList 2010, 12, 31
$backup.ExpirationDate = $expDate
$backup.LogTruncation = [Microsoft.SqlServer.Management.Smo.BackupTruncateLogType]2
$backup.add_PercentComplete({
Write-Progress -activity "Backup in Progress" -status "% Complete:" -percentcomplete $_.Percent;
})
$backup.SqlBackup($serv)
Write-Host "Backup terminé"
Invoke-Sqlcmd -ServerInstance "MIM\sql2008" -InputFile "C:\BackupBdd.sql"
-Variable "DataBaseName=PerfSamples"| Out-File -filePath "c:\backupbdd.sql.txt"