Powershell para DBAs SQL Server – Vídeo 08 (Backup e Restore)

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)

Deixe uma resposta

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.