Skip to content

Instantly share code, notes, and snippets.

@OsirisDBA
Created December 20, 2018 20:25
Show Gist options
  • Save OsirisDBA/926873f289809ef38d702cc7321fc189 to your computer and use it in GitHub Desktop.
Save OsirisDBA/926873f289809ef38d702cc7321fc189 to your computer and use it in GitHub Desktop.
Testing last backup
import-module dbatools
Enum SQLVersionMajor {
SQL2019 = 15
SQL2017 = 14
SQL2016 = 13
SQL2014 = 12
SQL2012 = 11
SQL2008 = 10
SQL2005 = 9
}
Get-DbaCmsRegServer -SqlInstance "#CMSSERVER#" |
Foreach-Object {
Write-Host $_
$Version = (get-DbaInstanceProperty -SqlInstance $_ -InstanceProperty "VersionMajor").Value
If ( $Version -eq [SQLVersionMajor]::SQL2014 `
-Or $Version -eq [SQLVersionMajor]::SQL2012 `
-Or $Version -eq [SQLVersionMajor]::SQL2008 `
-Or $Version -eq [SQLVersionMajor]::SQL2005 `
) {
$DestInstance = "#2014Instance#"
Test-DbaLastBackup -SqlInstance $_ `
-Destination $DestInstance `
-Prefix test_ `
-ExcludeDatabase master |
select * `
, @{name="RestoreSeconds";expression={ (New-TimeSpan -Start $_.RestoreStart -End $_.RestoreEnd).TotalSeconds} },@{name="DBCCSeconds";expression={ (New-TimeSpan -Start $_.DBCCStart -End $_.DBCCEnd).TotalSeconds }} |
select * -ExpandProperty Size |
select SourceServer, TestServer, Database, FileExists, @{Name="SizeKB";Expression={$_.Kilobyte}}, RestoreResult, RestoreStart, RestoreEnd, RestoreSeconds, DbccResult, DbccStart, DbccEnd, DbccSeconds |
Write-DbaDataTable -SqlInstance "#Warehouse#" -Database "#MyDataMart#" -Table BackupTestResults
}
else {
$DestInstance = "#2017Instance#"
Test-DbaLastBackup -SqlInstance $_ `
-Destination $DestInstance `
-Prefix test_ `
-ExcludeDatabase master |
select * `
, @{name="RestoreSeconds";expression={ (New-TimeSpan -Start $_.RestoreStart -End $_.RestoreEnd).TotalSeconds} },@{name="DBCCSeconds";expression={ (New-TimeSpan -Start $_.DBCCStart -End $_.DBCCEnd).TotalSeconds }} |
select * -ExpandProperty Size |
select SourceServer, TestServer, Database, FileExists, @{Name="SizeKB";Expression={$_.Kilobyte}}, RestoreResult, RestoreStart, RestoreEnd, RestoreSeconds, DbccResult, DbccStart, DbccEnd, DbccSeconds |
Write-DbaDataTable -SqlInstance "#Warehouse#" -Database "#MyDataMart#" -Table BackupTestResults
}
}
Write-Host "Complete"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment