Backup de bancos de dados do banco de dados MS SQL Server 2008 Express através de script em lote

1

Eu preciso de script em lote para fazer backup dos bancos de dados selecionados do Microsoft SQL 2008 Express Edition. Infelizmente, a edição do MS SQL Server 2008 Express carece de ferramentas de backup de banco de dados visuais, chamadas Manutenção no MS SQL 2008 Standard, portanto, precisamos de um script em lote para fazer backup de bancos de dados.

    
por integratorIT 20.04.2015 / 16:38

1 resposta

1

Eu escrevi um script universal para bancos de dados selecionados de backup do MS Sql Server Express. Loops de script através de uma matriz de bancos de dados e gera .bak separado para cada banco de dados. O nome do arquivo de backup começa com o nome do banco de dados e termina com hora e data. Os eventos são registrados no arquivo log.log, incluindo detalhes da tarefa de backup do banco de dados, portanto, os backups não existentes são sobrescritos. Também alguns pequenos detalhes, como o horário de início do backup.

Nesse script, você precisa definir a matriz de bancos de dados que deseja fazer backup, sa user / password e SQL Server e instance. Após todas essas modificações, é necessário invocar o arquivo de lote do agendador de tarefas.

O código do script:

@echo off

::databases array
set baza[0]=DATABSE_1
set baza[1]=DATABSE_2

::some of variables
set var=%usersa%
set var=%passsa%
set var=%instance%
set "x=0"
set hr=%TIME: =0%
set hr=%hr:~0,2%
set min=%TIME:~3,2%
set sec=%TIME:~6,2%
set czas=%hr%%min%%sec%

::database access data and instance
set usersa=sa
set passsa=sa
set instance=HOSTSERVER\SqlServerName
set backupath=E:\SQL_BACKUP\

echo Backup Start %date%_%czas%>>log.log
echo.>>log.log%%echo.>>log.log%%echo.>>log.log
:loop
if defined baza[%x%] (
    call osql -S %instance% -U %usersa% -P %passsa% -d %%baza[%x%]%% -Q "BACKUP DATABASE %%baza[%x%]%% TO DISK = '%backupath%%%baza[%x%]%%_%date%_%czas%.bak'" >>log.log
    set /a "x+=1"
    GOTO :loop
)
echo.>>log.log%%echo.>>log.log%%echo.>>log.log

    
por 20.04.2015 / 16:38