Chat global

Chat
Loading the chat ...
Restaurar automatic...
 
Notifications
Clear all

Restaurar automaticamente todos os arquivos .bak

1 Posts
1 Usuários
5 Reactions
86 Visualizações
PoTrAs18
(@potras18)
Posts: 68
Admin
Topic starter
 

Olá a todos, este é um pequeno script que você pode usar para restaurar todos os arquivos .bak de bancos de dados.

 

Você há de concordar comigo que é bastante tedioso ter que restaurar manualmente cada arquivo .bak.

 

Para executá-lo, você precisa usar o PowerShell com privilégios de administrador.

Com o PowerShell aberto, precisamos instalar o módulo "SqlServer". Podemos fazer isso usando o seguinte comando:

Install-Module -Name SqlServer -Scope AllUsers

O próximo passo é salvar o script em um arquivo com a extensão ".ps1". Você pode salvá-lo em qualquer lugar, mas recomendo salvá-lo na raiz da sua unidade "C:" para facilitar o acesso pelo PowerShell.

O arquivo .ps1 (por exemplo, "restore.ps1") deve conter o seguinte código. Para criá-lo, você pode criar um documento de texto usando o "Bloco de Notas" e salvá-lo com a extensão correta.

 

Import-Module SqlServer

$path = "C:\DBS"                          # diretório onde os arquivos .bak são armazenados
$instance = "suainstânciadoSQL"   # ejemplo: localhost o SERVER\SQLEXPRESS

$files = Get-ChildItem -Path $path -Filter *.bak

foreach ($f in $files) {

    $dbname = $f.BaseName

    Write-Host "Restaurando o banco de dados: $dbname desde $($f.FullName)"

    $sql = @"
RESTORE DATABASE [$dbname]
FROM DISK = '$($f.FullName)'
WITH REPLACE, RECOVERY;
"@

    Invoke-Sqlcmd -Query $sql -ServerInstance $instance
}

Write-Host "Processo concluído."

Depois de salvar o script, no PowerShell, precisamos acessar o caminho onde ele está armazenado e executá-lo usando "./nome_do_arquivo.ps1".

Após a execução, todos os arquivos .bak devem ser restaurados automaticamente.

 

Se o PowerShell retornar um erro ao tentar executar o script, use o seguinte comando para autorizar a execução de scripts personalizados:

Set-ExecutionPolicy RemoteSigned

Espero que seja útil e que lhe economize tempo. Atenciosamente.

 

 

 


 
Postado : 08/12/2025 2:14 am
NatsuBr, jhonnr18, ViGo and 2 people reacted
Compartilhar:

Anúncio