bombording
27-07-2011, 22:14
Добрый день.
На Windows 2003 крутится Microsoft SQL Enterprise Server, на котором работают несколько баз 1с 7.
Собственно архивация баз 1с осуществляется по следующему сценарию:
1. По расписанию запускается bat файл, который вызывает через isql.exe определённый сценарий в sql файле.
isql.exe /U u /P p /E /S server /d base1c /t 0 /i c:\script\backup.sql /o d:\script\Out.txt
2. Содержимое backup.sql
set nocount on
SET DATEFIRST 1
declare @OutP varchar(255)
declare @OutPD varchar(255)
declare @weekName varchar(10)
select @weekName = case
WHEN DATEPART( weekday, GETDATE()) = 1 THEN '_Monday'
WHEN DATEPART( weekday, GETDATE()) = 2 THEN '_Tuesday'
WHEN DATEPART( weekday, GETDATE()) = 3 THEN '_Wednesday'
WHEN DATEPART( weekday, GETDATE()) = 4 THEN '_Thursday'
WHEN DATEPART( weekday, GETDATE()) = 5 THEN '_Friday'
else
'_Free'
END
select @OutP = '\\backupserver\' + @weekName + '\DUMP.dat'
select @OutPD = 'del /F /Q ' + @OutP
EXEC master..xp_cmdshell @OutPD
BACKUP DATABASE base1c TO disk = @OutP WITHINIT
Всё работает. Но возникла необходимость после архивации баз 1с, синхронизировать ещё одну созданную базу для тестинга.
Я хотел поинтересоваться, возможно ли прописать в этом sql файле команду на то, что бы скрипт после архивации синхронизировал (либо очищал и записывал заного) действующую базу 1с с другой базой для тестов.
Спасибо
На Windows 2003 крутится Microsoft SQL Enterprise Server, на котором работают несколько баз 1с 7.
Собственно архивация баз 1с осуществляется по следующему сценарию:
1. По расписанию запускается bat файл, который вызывает через isql.exe определённый сценарий в sql файле.
isql.exe /U u /P p /E /S server /d base1c /t 0 /i c:\script\backup.sql /o d:\script\Out.txt
2. Содержимое backup.sql
set nocount on
SET DATEFIRST 1
declare @OutP varchar(255)
declare @OutPD varchar(255)
declare @weekName varchar(10)
select @weekName = case
WHEN DATEPART( weekday, GETDATE()) = 1 THEN '_Monday'
WHEN DATEPART( weekday, GETDATE()) = 2 THEN '_Tuesday'
WHEN DATEPART( weekday, GETDATE()) = 3 THEN '_Wednesday'
WHEN DATEPART( weekday, GETDATE()) = 4 THEN '_Thursday'
WHEN DATEPART( weekday, GETDATE()) = 5 THEN '_Friday'
else
'_Free'
END
select @OutP = '\\backupserver\' + @weekName + '\DUMP.dat'
select @OutPD = 'del /F /Q ' + @OutP
EXEC master..xp_cmdshell @OutPD
BACKUP DATABASE base1c TO disk = @OutP WITHINIT
Всё работает. Но возникла необходимость после архивации баз 1с, синхронизировать ещё одну созданную базу для тестинга.
Я хотел поинтересоваться, возможно ли прописать в этом sql файле команду на то, что бы скрипт после архивации синхронизировал (либо очищал и записывал заного) действующую базу 1с с другой базой для тестов.
Спасибо