Mais um vídeo da série de powershell para DBAs SQL Server no canal SQLCrespi do Youtube (lembrem de assinar o canal, dar like e compartilhar).
Neste vídeo eu falo dos cmdlets Backup-SQLDatabase e Restore-SQLDatabase.
Abaixo segue o código de exemplo utilizado no vídeo.
#Conecta no servidor Enter-PSSession -ComputerName win2016 #importa o sqlps Import-Module sqlps Backup-SqlDatabase -Database adventureworks -ServerInstance 'win2016' -BackupFile '\\WINAD\backup\adv.bak' #verifica se o backup foi feito #remove o backup #compressão Backup-SqlDatabase -Database adventureworks -ServerInstance 'win2016' -CompressionOption On -BackupFile '\\WINAD\backup\adv.bak' #backup de log Backup-SqlDatabase -Database adventureworks -ServerInstance 'win2016'-CompressionOption on -BackupFile '\\WINAD\backup\adv.bak' -BackupAction Log #diferencial Backup-SqlDatabase -Database adventureworks -ServerInstance 'win2016' -CompressionOption On -BackupFile '\\WINAD\backup\adv_copyonly.bak' -Incremental #Copy only Backup-SqlDatabase -Database adventureworks -ServerInstance 'win2016' -CompressionOption On -BackupFile '\\WINAD\backup\adv_copyonly.bak' -CopyOnly ####################### ou ####################### Set-Location sqlserver: Set-Location \sql\win2016\default\databases Backup-SqlDatabase -Database 'AdventureWorks'-BackupFile '\\winad\backup\adv2.bak' -CompressionOption on ### o Melhor Get-ChildItem Get-ChildItem |Backup-SqlDatabase -BackupFile '\\winad\backup\todos.bak' -CompressionOption on ### E os bancos de sistema? ### eles são ocultos Get-ChildItem -Force #tiramos o tempdb Get-ChildItem -Force |where name -ne 'tempdb' Get-ChildItem -Force |where name -ne 'tempdb' |Backup-SqlDatabase -BackupFile '\\winad\backup\todos.bak' -CompressionOption on ###Consultar o conteúdo dos bakcups Invoke-Sqlcmd -query "Restore headeronly from disk = '\\winad\backup\todos.bak'" | Format-Table #criptografando $cert = New-SqlBackupEncryptionOption -Algorithm Aes256 -EncryptorName certificado_backup -EncryptorType ServerCertificate Backup-SqlDatabase -Database adventureworks -BackupFile '\\winad\backup\cript.bak' -EncryptionOption $Cert ################Restore #dropa o adventureworks Invoke-Sqlcmd -query "drop database adventureworks" Set-Location sqlserver: Get-ChildItem \sql\win2016\default\databases -Force #Restore Restore-SqlDatabase -Database 'adventureworks' -BackupFile '\\winad\backup\adv2.bak' #Restore com posição e replace Restore-SqlDatabase -Database 'adventureworks' -BackupFile '\\winad\backup\adv2.bak' -ReplaceDatabase
Abraço, Rodrigo
Um comentário em “Powershell para DBAs SQL Server – Vídeo 08 (Backup e Restore)”