Array
(
)

HELP !!! RESTORE (SQLSERVER 2008) VIA BAT

Douglas Ramos
   - 14 jul 2016

Prezados, bom dia !
Sou inciante em banco de dados e estou desenvolvendo um script para otimização de rotinas no SQLServer.
Essa bat esta sendo executada em um ambiente Windows e, ao executar a bat os arquivos de backup são exibidos na tela, mas gostaria de uma solucão que, após selecionarmos um backup, o mesmo deveria ser preenchido na sintaxe correspondente de restore, por exemplo (RESTORE DATABASE teste FROM  DISK = N'C:\SQLServer\Backup\bkp_xpto.bak' ) . Gostaria que o backup selecionado, fosse preenchido automaticamente na sintaxe de restore, ou que eu pudesse apenas digitar  o nome do backup, na sintaxe de restore.--> RESTORE DATABASE teste FROM  DISK = N'C:\SQLServer\Backup\bkp_XPTO.bak.' )
Obs : Os arquivos de backup nunca são substituidos, eles são geradoscom data e hora.

SEGUE A ESTRUTURA DA BAT :
Att,
Douglas Ramos
==============================================================================================

Echo.
@echo [1] Listar backups
@echo ============================================
echo.
echo.
set /p opcao= Informe a opcao escolhida :
echo.

@if /i "%opcao%"=="1" goto 1
@if [%Check%]==[] GOTO :erro

:1

echo off

SET index=1

SETLOCAL ENABLEDELAYEDEXPANSION

cd C:\SQLServer\Backup
FOR %%f IN (*.bak) DO (
SET file!index!=%%f
ECHO !index! - %%f
SET /A index = !index! + 1
)

SETLOCAL DISABLEDELAYEDEXPANSION
@echo.
@echo.
SET /P selection = "Informe o backup que voce deseja restaurar:"

SET file%selection% >nul 2>&1

IF ERRORLEVEL 1 (
ECHO invalid number selected
EXIT /B 1.
)

========================= como e exibido ==================================
[1] Listar backups :

Informe a opcap escolhida :
1- bkp_dbxpto_20160513.bak
2-bkp_dbxpto_20160212.bak
3-bkp_dbxpto_20140220.bak
4-bkp_dbxpto_20130214.bak
Informe o backup que deseja restaurar :