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

Autor: SQLCrespi

Rodrigo Crespi é MVP Data Platform, MCT, MCSE, MCSA, MCIT, MCDBA e MCP em SQL Server, possuí outras certificações em .NET Framework, Dynamics CRM e etc. Iniciou trabalhando com SQL Server na versão 6.5 na época como desenvolvedor, logo direcionou a sua carreira para a área de administração de bancos de dados. Atualmente é Sócio da CrespiDB – Soluções em Plataformas de Dados, além de professor universitário na Uniftec – Caxias do Sul Autor de diversos artigos publicados em sites e revistas sobre SQL Server e engenharia de software, mantem o canal SQLCrespi no Youtube, o blog SQLCrespi, além de ser dedicado ao SQL Server RS PASS Chapter Leader do grupo de profissionais em SQL Server do Rio Grande do Sul.

One thought on “Powershell para DBAs SQL Server – Vídeo 08 (Backup e Restore)

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s