|
Резервное копирование SQL базы в несколько мест | ☑ | ||
---|---|---|---|---|
0
mzelensky
30.08.10
✎
11:42
|
Доброго времени суток! Собственно задача сейчас стоит такая:
Имеется база 1С на SQL 2005, настроена ежедневное резервное копирование, а затем архивирование бэкапа. Архивация происходит в опеределенный каталог с дозаписью (т.е. выгрузки накапливаются, а не перезаписываются). Сейчас руководство хочет еще + к этому сделать так, чтобы последняя выгрузка сохрангялась паралельно куда-нибудь на флешку и обновлялась каждый день (т.е. на флешке всегда хранился 1 бекап самой последней выгрузки). ВНИМАНИЕ ВОПРОС: как это лучше организивать?!? Делать повторно еще один план резервирования в SQL не хочется - лишняя трата времени, есть идея либо написать свою маленькую программу (скажем на Делфяке) и запускать ее по расписанию, чтобы та определяла последнюю копию и опировала файлик куда нужно, либо производить тежде самые манипуляции, но из "cmd"...вот только как в этом случае определить последнюю копию (сравнить даты) я не знаю :( У кого какие еще варианты есть? |
|||
1
Maxus43
30.08.10
✎
11:47
|
на флэшку? жесть. А если достанут? если воткнут 2 флэшки? если...
А вобще, напиши програмку и не парься, имхо |
|||
2
mzelensky
30.08.10
✎
11:50
|
(1) Флешка для этого и будет предназначена...т.е. подразумевается,что она будет воткнута всегда!!! Имя у нее значит будет определено и изменяться не будет и я смогу нормально к нему обращаться!
|
|||
3
mzelensky
30.08.10
✎
11:50
|
(1) короче говоря...если в кратце...делается на всякий случай...если НАЛОГОВАЯ НАГРЯНЕТ...
|
|||
4
mzelensky
30.08.10
✎
11:54
|
Подводный камень еще заключается в том, что иногда архивирование бэкапа происходит КРИВО...т.е. архив типа создается ,но он пустой :( возможно потом что архивация начинается раньше, чем заканчивается выгрузка...пока постарался просто сделать больший интервал времени между этими операциями...но в идеале это нужно проверять программно, перед копированием на флешку!
|
|||
5
Шляпентох
30.08.10
✎
11:56
|
(4) Добавьте в job резервного копирования еще один шаг, который будет запускаться после окончания предыдущего (создания резервной копии) и будет запускать ваш скрипт..
|
|||
6
Maxus43
30.08.10
✎
11:57
|
(5) Надо после архивирования сторонней программой как я понял. Так не прокатит...
|
|||
7
mzelensky
30.08.10
✎
12:03
|
(5) архивирование происходит прогой WinRAR...она запускается из "bat" файла с указанием нужных параметров. А можно запустить этот "bat" файл прям из плана обслуживания в SQL ???
|
|||
8
Maxus43
30.08.10
✎
12:05
|
(7) естественно можно
|
|||
9
mzelensky
30.08.10
✎
12:06
|
(8) а как? я просто не вижу там такой задачи!
|
|||
10
Шляпентох
30.08.10
✎
12:06
|
(7) смотрите в BOL exec xp_cmdshell, обратите внимание на "Учетная запись-посредник для процедуры xp_cmdshell"
|
|||
11
mzelensky
30.08.10
✎
12:12
|
(10) вот нашел описание:
http://msdn.microsoft.com/ru-ru/library/ms175046.aspx Так все это нужно прописывать в задаче "Выполнение инструкции T-SQL" ? |
|||
12
Maxus43
30.08.10
✎
12:14
|
(11) Так точно
|
|||
13
mzelensky
30.08.10
✎
12:16
|
(12) вот нашел пример команды:
exec xp_cmdshell 'start /min D:\bat\1.bat' Прокатит? |
|||
14
Maxus43
30.08.10
✎
12:18
|
(13) проверяй, зачем спрашивать то? на мисте нет твоего SQL с job-ами и батниками
|
|||
15
mzelensky
30.08.10
✎
12:21
|
(14) да я по поводу синтаксиса...уже начал проверку!
|
|||
16
mzelensky
30.08.10
✎
12:31
|
Прописываю вот так:
exec xp_cmdshell 'F:\Зеленский\test.bat' чет батник не пускается :( |
|||
17
Maxus43
30.08.10
✎
12:35
|
Ты в (11) читал вобще?
Пример даже есть же... EXEC xp_cmdshell 'dir *.exe'; GO Т.е. Содержимое батника вместо 'dir *.exe' пихай |
|||
18
Шляпентох
30.08.10
✎
12:36
|
(16) А так: exec xp_cmdshell N'F:\Зеленский\test.bat'?
С помощью sp_configure вы разрешили выполнение xp_cmdshell? По умолчанию оно выключено |
|||
19
mzelensky
30.08.10
✎
12:38
|
(18) вот только что разрешил :) уже нашел упоминание о том ,что он выключен по умолчанию!
|
|||
20
mzelensky
30.08.10
✎
12:40
|
(17) ща ,если как в (18) не прокатит ,то попробую просто тело bat-ника вставить!
|
|||
21
Maxus43
30.08.10
✎
12:43
|
(20) да прокатит, просто по логике - зачем тебе внешние файлы, если можно встроить это в Джоб и не париться
|
|||
22
mzelensky
30.08.10
✎
12:44
|
(21)...тоже верно!!!
а что означает параметр "N" ? в (18) ? |
|||
23
mzelensky
30.08.10
✎
12:48
|
И еще вопрос...если мне нужно сделать ряд операций, то как параметр в exec xp_cmdshell N будет выглядеть??? НУ т.е. если я буду писать:
exec xp_cmdshell N ' бла-бла бла-бла2 бла-бла3 '; Так прокатит?! |
|||
24
Шляпентох
30.08.10
✎
12:50
|
(23) Ну проверьте вы.. Делов-то..
N перед кавычкой означает, что в кавычках юникод, без нее в некоторых случаях могут неправильно обрабатываться символы, отличные от латинских |
|||
25
mzelensky
30.08.10
✎
12:54
|
чет не прокатывает..
в батнике прописано: mkdir "TEST" Если просто его запускаю, то папочка нормально создается. Создаю новый план обслуживаия, там создаю задачу "Выполнение инструкций Т-СКЛ" в инструкции пишу: exec xp_cmdshell 'F:\Зеленский\test.bat'; выполняю план...пишит ,что все нормально выполнено, но ПАПКИ НЕТ :( |
|||
26
Шляпентох
30.08.10
✎
13:00
|
(25) Если просто выполнить exec xp_cmdshell 'F:\Зеленский\test.bat' - папка создастся? Если прописать в батнике mkdir "D:\TEST" - создастся?
|
|||
27
mzelensky
30.08.10
✎
13:00
|
нашел ошибку!!!
|
|||
28
Maxus43
30.08.10
✎
13:01
|
(27) Молодец! Возьми пряник с полки
|
|||
29
mzelensky
30.08.10
✎
13:02
|
я прописывал " mkdir "TEST" " расчитывая, что папка будет создаваться в том же каталоге, где лежит испоняемый файл...а папка создавалась в "Windows\system32\" :)
(28) спасибо за пряник! |
|||
30
mzelensky
30.08.10
✎
13:25
|
А еще вопрос!
Если я запускаю таким образом задачу, которая выполняется продолжительное время...а после этой задачи идет следующая, то как поведет себя SQL планировщие, он дождется завершения перволй задачи перед выполнением второй или нет? |
|||
31
Шляпентох
30.08.10
✎
13:28
|
(30) Разные job'ы выполняются независимо друг от друга, шаги job'ов последовательно
|
|||
32
mzelensky
30.08.10
✎
13:31
|
(31) замечательно!!! СПАСИБО!!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |