Backup MSSQL

Полный бэкап раз в сутки.

@echo off
rem База которую бэкапим
set DB=UPP
rem Куда бэкапим
set bkdir=C:

set bkpath=%bkdir%\%date%

if not exist "%bkpath%" mkdir "%bkpath%"

"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE" -S .\SQLEXPRESS -q "BACKUP DATABASE %DB% TO DISK='%bkpath%\backup_%DB%.bak';RESTORE VERIFYONLY FROM DISK='%bkpath%\backup_%DB%.bak'" -o %bkpath%\backup_%DB%.log

Разностный бэкап через каждые 4 часа

@echo off
rem База которую бэкапим
set DB=UPP
rem Куда бэкапим
set bkdir=C:
set bkpath=%bkdir%\%date%

if not exist "%bkpath%" mkdir "%bkpath%"

"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE" -S .\SQLEXPRESS -q "BACKUP DATABASE %DB% TO DISK='%bkpath%\backup_%DB%.bak' WITH DIFFERENTIAL;RESTORE VERIFYONLY FROM DISK='%bkpath%\backup_%DB%.bak'" -o %bkpath%\backup_%DB%.log

Одним скриптом

@echo off

set db=%1
set bkdir=%2
set type=%3

if "%db%" == "" (

    echo "usage: %0 <dbname> <path> <diff|full>"
        exit /b 1

) else (
    if "%bkdir%" == "" (

        echo "usage: %0 %db% <path> <diff|full>"
            exit /b 1

    ) else (

        if "%type%" == "full" (

            set bkpath=%bkdir%\%date%
            if not exist "%bkpath%" mkdir "%bkpath%"
            "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE" -S .\SQLEXPRESS -q "BACKUP DATABASE %db% TO DISK='%bkpath%\backup_%db%.bak';RESTORE VERIFYONLY FROM DISK='%bkpath%\backup_%db%.bak'" -o %bkpath%\backup_%db%.log

        ) else (

            if "%type%" == "diff" (

                if not exist "%bkdir%" (

                    echo First run full backup.
                    exit /b 1

                ) else (
                    set bkpath=%bkdir%\%date%
                    "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE" -S .\SQLEXPRESS -q "BACKUP DATABASE %db% TO DISK='%bkpath%\backup_%db%.bak' WITH DIFFERENTIAL;RESTORE VERIFYONLY FROM DISK='%bkpath%\backup_%db%.bak'" -o %bkpath%\backup_%db%.log
   
                )

            ) else (

                echo "usage: %0 %db% %bkpath% <diff|full>"
                    exit /b 1
            )
        )  
    )
)
Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong