Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Архивирование бэкапов в 7-Zip  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
Доброго времени суток.
Суть такова. Если мульти джоб, который делает full-бэкапы всех БД, у которых стоит модель бэкапирования FULL.
Step 1:
DECLARE @DBName       VARCHAR(64)
DECLARE @RecoverModel INT
DECLARE @cmd          NVARCHAR(2048)

-- Курсор по БД
DECLARE DB_Curs CURSOR FOR
  SELECT
    d.name,
    d.recovery_model
  FROM
    sys.databases d
  WHERE
    (d.name NOT IN ('master','tempdb','model','msdb')) AND (d.recovery_model = 1)
  ORDER BY
    d.name

OPEN DB_Curs
FETCH NEXT FROM DB_Curs INTO @DBName, @RecoverModel

WHILE @@FETCH_STATUS = 0
BEGIN
  IF @RecoverModel = 1
  BEGIN
-- SHRINK LOG
    SET @cmd = 'USE ' + @DBName + '
                CHECKPOINT
                BACKUP LOG ' + @DBName + ' WITH TRUNCATE_ONLY
                CHECKPOINT
                DBCC SHRINKFILE(2, TRUNCATEONLY)'
    EXECUTE sp_executesql @cmd

-- BACKUP
    EXEC Create_Backups @DBName, 'FULL'
  END
 
-- SHRINK DB
  SET @cmd = 'DBCC SHRINKDATABASE (' + @DBName + ')'
  EXECUTE sp_executesql @cmd

  FETCH NEXT FROM DB_Curs INTO @DBName, @RecoverModel
END

-- Закрытие курсора
CLOSE DB_Curs
DEALLOCATE DB_Curs


Step 2:

Приложил бы картинку, но не работает что-то. В шаге
на вкладке General:
Type: Operating system (CmdExec)
Run as: SQL Agent Service Account
Command: FOR %f IN (E:\Data_Prot_Base\*FULL*.*) DO "C:\Program Files\7-Zip\7zG.exe" a -mx1 -m0=LZMA2 -mmt=on "%f.7z" "%f"

Так вот на втором шаге job виснет и никаких действий не делает - ни архива, ни ошибки.
Соль в том, что эта команда в консоли работает на Ура!
Вариант, что архиватор не запускается из-за прав - отпадает, т.к. запуск job-а и команды из консоли выполняет один пользователь.
Возможно ли такое, что опция LZMA2 мешает? Она предусматривает многопоточность архивации
Или в чём может быть дело?
22 фев 13, 16:49    [13968065]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
поправка:
*** есТЬ мульти джоб, который .......
22 фев 13, 16:51    [13968083]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 34728
Блог
BuKTaP,

агент под каким пользователем работает?
22 фев 13, 16:52    [13968088]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37143
Что-то мало шринков в джобе, надо еще. Они же такие классные.
22 фев 13, 16:53    [13968095]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37143
И полная модель восстановления я смотрю по делу выбрана.
22 фев 13, 16:54    [13968099]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
BuKTaP,

м.б. архиватор ждёт ввода от юзера?
Нет там случайно опции типа "отвечать да на все запросы"?
22 фев 13, 16:57    [13968116]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
Критик: пользователь является доменным администратором.

Гавриленко Сергей Алексеевич: Если обратите внимание, то заметите, что там два разных шринка - для лога и для базы.
Помимо этого джоба есть ещё и другие, которые делают не full-бэкапы, а дифферинциальные бэкапы и бэкапы лога. Во всех используется одна и таже процедура Create_Backups, в которую передаётся параметр, указывающий на тип бэкапа, который будет создаваться.

Да и чего про это заговорили? С этой частю проблем нет и она была приведена для полноты картины.

locky: такая опция есть в RAR, здесь нету.

For All:

Опытный путём установлено, что зависание происходит действительно из-за опции -m0=LZMA2
При указании опции -m0=LZMA, архивирование идёт поочерёдно, как положено.

Почему же -m0=LZMA2 не работает? :(
22 фев 13, 17:13    [13968177]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37143
BuKTaP
Гавриленко Сергей Алексеевич: Если обратите внимание, то заметите, что там два разных шринка - для лога и для базы.
А должно быть не больше 0. Если вы иронию не поняли.

BuKTaP
Да и чего про это заговорили? С этой частю проблем нет и она была приведена для полноты картины.
Ну да. Сервер железный, все стерпит. А у вас проблем нет.
22 фев 13, 17:25    [13968237]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
Гость333
Member

Откуда:
Сообщений: 3683
BuKTaP
два разных шринка - для лога и для базы
Да и чего про это заговорили? С этой частю проблем нет

Формально проблем нет, а на уровне базы это сплошное "боль и страдание".
Фрагментацию индексов проверяете? Какой-нибудь другой джоб потом самоотверженно борется с оной фрагментацией?
22 фев 13, 17:27    [13968247]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
Товарищи, сейчас для меня критичен вопрос архивирования, а не бэкапирования, т.к. оно работает нормально.
Помогите сначала с насущным вопросом, а потом уже будем разводить полемику и я с радостью выслушаю всех желающих
22 фев 13, 17:30    [13968266]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
Гость333
Member

Откуда:
Сообщений: 3683
BuKTaP,

Непонятно, почему вы запускаете программу 7zG.exe, которая, случись какая ошибка, выдаёт диалоговое окно Windows. Понятно, что SQL Server Agent не сможет ничего нажать в этом окне. Запускайте программу 7z.exe и перенаправляйте её вывод вместо консоли в какой-нибудь файл. Сможете тогда прочитать текст ошибки.
22 фев 13, 17:47    [13968350]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
Выбран 7zG, а не 7z потому, что в нём есть опция многопоточности.
22 фев 13, 18:38    [13968618]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37143
BuKTaP
Выбран 7zG, а не 7z потому, что в нём есть опция многопоточности.
Тогда учитесь нажимать кнопки в приложении, которое запущено непонятно в какой сессии.
22 фев 13, 19:01    [13968747]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
Гавриленко Сергей Алексеевич,

Написано, что МУЛЬТИ-джоб. На всех серверах, кроме одного, наблюдается такое поведение, а конфигурации одинаковы.
Как может быть? Как может
автор
нажимать кнопки в приложении, которое запущено непонятно в какой сессии
на одном и НЕ
автор
нажимать кнопки в приложении, которое запущено непонятно в какой сессии
на другом?
25 фев 13, 14:37    [13976905]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Результат
SELECT @@version
можно увидеть?
25 фев 13, 15:02    [13977175]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37143
BuKTaP
Гавриленко Сергей Алексеевич,

Написано, что МУЛЬТИ-джоб. На всех серверах, кроме одного, наблюдается такое поведение, а конфигурации одинаковы.
Как может быть? Как может
автор
нажимать кнопки в приложении, которое запущено непонятно в какой сессии
на одном и НЕ
автор
нажимать кнопки в приложении, которое запущено непонятно в какой сессии
на другом?
Спросите у авторов 7zG.exe, зачем она выдает какие-то там модальные диалоговые окна, которые блокируют процесс сжатия.
25 фев 13, 16:11    [13977801]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
sqlash
Member

Откуда:
Сообщений: 12
Здравствуйте,

Извините, если не в тему...

Есть командный файл запускаемый по расписанию для бекап-а базы:


----------------------------------------------------------------------------------------------------------------------------
sqlcmd -S Имя сервера -E -Q "declare @s varchar(255) set @s='путь к базе\base_' + convert(varchar(1), datepart(dw, getdate())) + '.bak' backup database base to disk = @s with init, noformat, skip, nounload"
----------------------------------------------------------------------------------------------------------------------------

Что и куда тут нужно добавить, чтоб автоматом еще и сразу архивировал полученный бекап "base.bak"
Т.е. архивировал в "base.zip", а "base.bak" удалял после.
26 сен 13, 16:22    [14888491]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
sqlash,

Результат
SELECT @@version
покажите.
26 сен 13, 16:24    [14888513]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
sqlash
Member

Откуда:
Сообщений: 12
Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (Intel X86) Jun 28 2012 08:42:37 Copyright (c) Microsoft Corporation Express Edition with Advanced Services on Windows NT 5.2 <X86> (Build 3790: Service Pack 2)
26 сен 13, 16:33    [14888580]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
sqlash,

В данной редакции не поддерживается сжатие бэкапов. За параметрами командной строки архиватора лучше обращаться на соответствующий форум или к документации по нему. Хотя пример вызова есть и в стартовом посте.
26 сен 13, 16:37    [14888618]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
sqlash
Member

Откуда:
Сообщений: 12
Ок, спасибо.
26 сен 13, 16:39    [14888643]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
zxc1257
Member

Откуда:
Сообщений: 71
BuKTaP
-- SHRINK LOG
SET @cmd = 'USE ' + @DBName + '
CHECKPOINT
BACKUP LOG ' + @DBName + ' WITH TRUNCATE_ONLY
CHECKPOINT
DBCC SHRINKFILE(2, TRUNCATEONLY)'
EXECUTE sp_executesql @cmd


хм, а зачем столько чекпоинтов насовали? при full модели восстановления разве не так:

VLF's с активными транзакциями помечатся Active, с неактивными не забэкапленными Recoverable, остальные Reusable,Unused. После каждого бэкапа transaction log'a VLF's в состоянии из состояния Recoverable. Все забэкапленные VLF's при ближайшем checkpoint'e переходят в Reusable. Разве есть смысл в truncate?
26 сен 13, 17:10    [14888865]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
zxc1257
Member

Откуда:
Сообщений: 71
Автор, вам, похоже надо Simple с таким подходом к резервированию. По-моему в такой модели. Поток, который запускается по checkpoint'у не будет смотреть забэкаплены или нет VLF в состоянии Recoverable. Все VLF's, что Recoverable с LSN меньше LSN чекпоинта будет переведено в состояние Reusable. (truncate)

Я больше программист. Не админ. Может что-то и подзабыл.
26 сен 13, 17:19    [14888921]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
o-o
Guest
zxc1257,

тот "автор" в феврале писал. сейчас тему поднял другой товарищ с вопросом по архивации.
а по поводу лабудищи в скрипте: в феврале же господин Гавриленко откомментировал:
Гавриленко Сергей Алексеевич
Что-то мало шринков в джобе, надо еще. Они же такие классные.
...И полная модель восстановления я смотрю по делу выбрана.
26 сен 13, 19:01    [14889392]     Ответить | Цитировать Сообщить модератору
 Re: Архивирование бэкапов в 7-Zip  [new]
zxc1257
Member

Откуда:
Сообщений: 71
o-o,

тю, я с прожогу в тему заскочил, даже дату не глянул. Гавриленко хорошо автора подколол.
26 сен 13, 19:13    [14889425]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить