понедельник, 20 сентября 2010 г.

FULL BACKUP MS SQL EXPRESS

Ничего нового тут нет, взято с itcommunity.ru

Т.к. в express нет SQL Agent, то для бекапа баз можно использовать связку bat-ника и sql-скрипта.
bat-ник:
sqlcmd -S server\SQLEXPRESS -E -i C:\cmd\TCPbackup.sql
"C:\Program Files (x86)\WinRAR\Rar.exe" a -m2 -ag(YYYY.mm.dd_HH-MM) C:\temp\TCP_backup_.rar C:\temp\TCP_backup_*.bak
del C:\temp\TCP_backup_*.bak

SQL-скрипт немного дополнен, таким образом чтобы в выходные дни бекапы не делались.
Скрипт TCPbackup.sql вызова процедуры backup database:
DECLARE @pathName NVARCHAR(512)
SET DATEFIRST 1
declare @weekday int
select @weekday = DATEPART (weekday,current_timestamp)

if (@weekday<>6)and(@weekday<>7)
begin
SET @pathName = 'C:\temp\TCP_backup_' + Convert(varchar(8), GETDATE(), 112) + '.bak'
BACKUP DATABASE [SOBES] TO DISK = @pathName WITH NOFORMAT, NOINIT, NAME = N'TCP_backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
end


Потом архив отправляется на шару, но делается это уже в PShell скрипте. Вызов батника также осуществляется из основного скрипта под PSHell командлетом:
Start-process "C:\cmd\backup_TCP" -wait

Комментариев нет:

Отправить комментарий