Резервное копирование баз данных из базы данных MS SQL Server 2008 Express через пакетный скрипт

Мне нужен пакетный скрипт для резервного копирования выбранных баз данных из Microsoft SQL 2008 Express Edition. К сожалению, в выпуске MS SQL Server 2008 Express отсутствуют средства визуального резервного копирования баз данных, называемые "Обслуживание в стандарте MS SQL 2008", поэтому нам необходим пакетный скрипт для резервного копирования баз данных.

1 ответ

Решение

Я написал универсальный скрипт для резервного копирования выбранных баз данных из MS Sql Server Express. Скрипт проходит через массив баз данных и генерирует отдельный.bak для каждой базы данных. Имя файла резервной копии начинается с имени базы данных и заканчивается временем и датой. События записываются в файл log.log, включая сведения о задаче резервного копирования базы данных, поэтому не существующие резервные копии перезаписываются. Также некоторые мелкие детали, такие как время начала резервного копирования.

В этом скрипте вам нужно определить массив баз данных, который вы хотите сделать резервную копию, sa user / password, а также SQL Server и экземпляр. После этих изменений все, что нужно сделать, это вызвать пакетный файл из планировщика задач.

Код скрипта:

@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

резервное копирование имени файла

Другие вопросы по тегам