Нафига метки времени? Чтобы была естественная посуточная ротация.
Скрипт следующий:
declare @rktime varchar(5), @rkdate varchar(50), @filename varchar(100), @bckcomment varchar(100);
-- Получение времени запуска скрипта в формате мм-чч
SELECT @rktime = REPLACE(CONVERT(VARCHAR(5), GETDATE(), 108),':','-');
-- Получение полной даты/времени для комментария
select @rkdate = CONVERT(VARCHAR(11), GETDATE(), 106)
-- Формирование имени файла лога (с учетом времени создания) и комментария для архива
select @filename = 'D:\Backup\SQL_BASE\LOG\UT_log_' + @rktime + '.bak';
-- Формирование комментария к файлу (важна дата!)
select @bckcomment = 'UT2007 DB LOG backup. Created at ' + @rkdate + ' ('+ @rktime + ')';
BACKUP LOG [UT2007] TO DISK = @filename WITH NOFORMAT, INIT, NAME = @bckcomment, SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
Для целей "эмуляции" "Shipping Transaction Log" используем копирование на другой сервер:
declare @rktime varchar(5), @rkdate varchar(50), @filename varchar(100), @bckcomment varchar(100), @cmd varchar(100) ;
SELECT @rktime = REPLACE(CONVERT(VARCHAR(5), GETDATE(), 108),':','-');
select @rkdate = CONVERT(VARCHAR(11), GETDATE(), 106)
select @filename = 'D:\Backup\SQL_BASE\LOG\UT_log_' + @rktime + '.bak';
select @bckcomment = 'UT2007 DB LOG backup. Created at ' + @rkdate + ' ('+ @rktime + ')';
BACKUP LOG [UT2007] TO DISK = @filename WITH NOFORMAT, INIT, NAME = @bckcomment, SKIP, NOREWIND, NOUNLOAD, STATS = 10
select @cmd = 'xcopy ' + @filename + ' \\sql01\backup$\SQL_BASE\LOG /Y /I';
EXEC xp_cmdshell @cmd
NB! xp_cmdshell, разумеется, должен быть разрешен (например, в surface area).
Скрипт следующий:
declare @rktime varchar(5), @rkdate varchar(50), @filename varchar(100), @bckcomment varchar(100);
-- Получение времени запуска скрипта в формате мм-чч
SELECT @rktime = REPLACE(CONVERT(VARCHAR(5), GETDATE(), 108),':','-');
-- Получение полной даты/времени для комментария
select @rkdate = CONVERT(VARCHAR(11), GETDATE(), 106)
-- Формирование имени файла лога (с учетом времени создания) и комментария для архива
select @filename = 'D:\Backup\SQL_BASE\LOG\UT_log_' + @rktime + '.bak';
-- Формирование комментария к файлу (важна дата!)
select @bckcomment = 'UT2007 DB LOG backup. Created at ' + @rkdate + ' ('+ @rktime + ')';
BACKUP LOG [UT2007] TO DISK = @filename WITH NOFORMAT, INIT, NAME = @bckcomment, SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
Для целей "эмуляции" "Shipping Transaction Log" используем копирование на другой сервер:
declare @rktime varchar(5), @rkdate varchar(50), @filename varchar(100), @bckcomment varchar(100), @cmd varchar(100) ;
SELECT @rktime = REPLACE(CONVERT(VARCHAR(5), GETDATE(), 108),':','-');
select @rkdate = CONVERT(VARCHAR(11), GETDATE(), 106)
select @filename = 'D:\Backup\SQL_BASE\LOG\UT_log_' + @rktime + '.bak';
select @bckcomment = 'UT2007 DB LOG backup. Created at ' + @rkdate + ' ('+ @rktime + ')';
BACKUP LOG [UT2007] TO DISK = @filename WITH NOFORMAT, INIT, NAME = @bckcomment, SKIP, NOREWIND, NOUNLOAD, STATS = 10
select @cmd = 'xcopy ' + @filename + ' \\sql01\backup$\SQL_BASE\LOG /Y /I';
EXEC xp_cmdshell @cmd
NB! xp_cmdshell, разумеется, должен быть разрешен (например, в surface area).
Комментариев нет:
Отправить комментарий