Script Powershell que verifica database mais recente em um diretório e restaura no SQL Server

Olá pessoal,

recentemente eu tive a necessidade de automatizar o restore de um database no SQL Server utilizando o arquivo *.bak mais recente em um determinado diretório. Eu fiz um script simples em Powershell para essa demanda e eu aproveito para compartilhar aqui com vocês.

Primeiro eu declarei a váriável $localpath definindo o diretório onde os arquivos de backup estão armazenados, depois eu declarei a váriável $filename executando o comando gci no diretório definido em $localpath e verificando qual é o arquivo mais recente.

Em seguida eu utilizei o comando Restore-SqlDatabase para restaurar o arquivo *.bak mais recente definido no path “$localPath\$FileName

Então chegamos ao código abaixo:

$localPath = "C:\BACKUP"
$filename = gci "$localPath" | sort LastWriteTime | select -last 1
Restore-SqlDatabase -ServerInstance "NOME_DO_SQLSERVER" -Database "nome_do_database" -BackupFile "$localPath\$FileName" -ReplaceDatabase

Em $localpath substitua “C:\BACKUP” pelo nome do diretório onde os arquivos *.bak estão armazenados, em “NOME_DO_SQLSERVER” coloque o nome do servidor SQL Server onde o backup será restaurado e em “nome_do_database” coloque o nome do banco de dados que será restaurado, depois salve o código em um arquivo *.ps1 e pode executar.

Até a próxima!

Deixe uma resposta

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