PowerShell script exchange
Post Reply
JDF
Service Provider
Posts: 26
Liked: 1 time
Joined: Jan 31, 2018 2:45 pm
Full Name: Jason Field
Contact:

Case #08005411

Post by JDF »

HI
Have an urgent need to supply evidence that all child SQL log jobs are running every 15 mins as required.
You need to evidence the interval/frequency of Agent SQL Server Transaction Log Backup jobs.
I have tried PowerShell and the API, but historical sessions are not exposed.
I’d either like a suitable ps script or a SQL query for your PostgreSQL Veeam B&R database to show job name, start time, and interval between runs for “Transaction Log Backup” jobs.
Many thanks
Jason
david.domask
Product Manager
Posts: 3373
Liked: 797 times
Joined: Jun 28, 2016 12:12 pm
Contact:

Re: Case #08005411

Post by david.domask »

Hi Jason,

Regrettably there's not a supported means of doing this, so you will need to rely on unsupported methods.

Code: Select all

$job = Get-VBRJob -Name "name of Veeam Agent for Windows Job" #[0]
$sqlJob = $job.FindChildJobs().FindChildSqlLogBackupJob()
[Veeam.Backup.Core.CbackupSession]::GetByJob($sqlJob.id) | Sort -Property CreationTime -Descending
Second and Third lines are unsupported methods, but should give you all the sessions for each Agent job. If you have multiple machines performing transaction log backups within a single Veeam Agent for Windows / Linux job, you will have multiple entries in $sqlJob (one for each machine) and you will need to loop over $sqlJob to build your report for all machines in the job.

Similarly, I see Veeam Support recommended the Veeam One Report Database Log Protection History -- while I understand there was some concern about proving it made the exact interval, the RPO monitor should help here to show that it's making / missing intervals and how often it is running.
David Domask | Product Management: Principal Analyst
Post Reply

Who is online

Users browsing this forum: Baidu [Spider] and 3 guests