Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Maintenance Plan по бэкапированию  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
Доброго времени суток.
Дано:
Maintenance Plan для полного бэкапирования баз, который содержит сделующее:
1. Удаление всех bak-файлов старше 1 дня - Maintenance Cleanup Task
2. Бэкапирование выбранных БД - Back Up Database Task
. 2.1. Backup type: Full
. 2.2. Buckup set will expire - Checked (After: 1 days)
. 2.3. Folder: E:\BackUp\Full
3. Шринк БД - Shrink Database Task
4. Вызод JOB, который будет запаковывать бэкапы в архивы - Execute SQL Server Agent Job Task (Job Name: Arch_BackUp)

Шаги JOB Arch_BackUp:
1. Архивация - Arch
Type: Operating System (CmdExec)
Run as: SQL Server Agent Service Account
Command: FOR %f IN (E:\BackUp\Full\*_backup_*.*) DO "C:\Program Files (x86)\7-Zip\7zG.exe" a -mx1 -m0=LZMA2 -mmt=on "%f.7z" "%f"

2. Перемещение архивов - Move
Type: Operating System (CmdExec)
Run as: SQL Server Agent Service Account
Command: move /y "E:\BackUp\Full\*.7z" "E:\BackUp"

Проблема:
Джоб делает все бэкапы (видно как появляются на диске), но в конце работы слетает с ошибкой.

Date 10.10.2013 12:27:04
Log Job History (BackUp.BackUp_DB_FULL)

Step ID 1
Server SRV-BI
Job Name BackUp.BackUp_DB_FULL
Step Name BackUp_DB_FULL
Duration 00:11:27
Sql Severity 0
Sql Message ID 0
Operator Emailed
Operator Net sent
Operator Paged
Retries Attempted 0

Message
Executed as user: RTL\система. Microsoft (R) SQL Server Execute Package Utility Version 10.50.4276.0 for 64-bit Copyright (C) Microsoft Corporation 2010. All rights reserved. Started: 12:27:04 Progress: 2013-10-10 12:27:07.97 Source: {10E02B2F-21A1-48ED-991C-2121D2090364} Executing query "DECLARE @Guid UNIQUEIDENTIFIER EXECUTE msdb..sp...".: 100% complete End Progress Progress: 2013-10-10 12:27:09.65 Source: Maintenance Cleanup Task Executing query "EXECUTE master.dbo.xp_delete_file 0,N'E:\BackUp',N...".: 100% complete End Progress Progress: 2013-10-10 12:27:15.19 Source: Back Up Database Task Executing query "BACKUP DATABASE [Admin] TO DISK = N'E:\BackUp\Ful...".: 100% complete End Progress Progress: 2013-10-10 12:35:11.00 Source: Back Up Database Task Executing query "BACKUP DATABASE [BIMain] TO DISK = N'E:\BackUp\Fu...".: 100% complete End Progress Progress: 2013-10-10 12:36:25.29 Source: Back Up Database Task Executing query "BACKUP DATABASE [Budgeting] TO DISK = N'E:\BackUp...".: 100% complete End Progress Progress: 2013-10-10 12:38:26.69 Source: Back Up Database Task Executing query "BACKUP DATABASE [Reporting] TO DISK = N'E:\BackUp...".: 100% complete End Progress Progress: 2013-10-10 12:38:27.25 Source: Shrink Database Task Executing query "USE [BIMain] ".: 50% complete End Progress Error: 2013-10-10 12:38:27.33 Code: 0xC002F210 Source: Execute SQL Server Agent Job Task Execute SQL Task Description: Executing the query "EXEC msdb.dbo.sp_start_job @job_id=N'fb813135-f4b7..." failed with the following error: "SQLServerAgent Error: Request to run job Arch_BackUp (from User sa) refused because the job is already running from a request by User sa.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly. End Error Progress: 2013-10-10 12:38:28.66 Source: Shrink Database Task Executing query "DBCC SHRINKDATABASE(N'BIMain', 10, TRUNCATEONLY) ".: 100% complete End Progress Progress: 2013-10-10 12:38:28.67 Source: Shrink Database Task Executing query "USE [Budgeting] ".: 50% complete End Progress Progress: 2013-10-10 12:38:28.94 Source: Shrink Database Task Executing query "DBCC SHRINKDATABASE(N'Budgeting', 10, TRUNCATEONLY...".: 100% complete End Progress Progress: 2013-10-10 12:38:28.95 Source: Shrink Database Task Executing query "USE [Reporting] ".: 50% complete End Progress Progress: 2013-10-10 12:38:29.76 Source: Shrink Database Task Executing query "DBCC SHRINKDATABASE(N'Reporting', 10, TRUNCATEONLY...".: 100% complete End Progress DTExec: The package execution returned DTSER_FAILURE (1). Started: 12:27:04 Finished: 12:38:30 Elapsed: 685.375 seconds. The package execution failed. The step failed.


Люди умные, подскажите, что не так? В каком месте текста ошибки найти корень зла?
10 окт 13, 15:08    [14951245]     Ответить | Цитировать Сообщить модератору
 Re: Maintenance Plan по бэкапированию  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
Забыл совсем.

Microsoft SQL Server 2008 R2 (SP2) - 10.50.4276.0 (X64) Feb 8 2013 10:37:00 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
10 окт 13, 15:09    [14951260]     Ответить | Цитировать Сообщить модератору
 Re: Maintenance Plan по бэкапированию  [new]
Glory
Member

Откуда:
Сообщений: 104751
BuKTaP
В каком месте текста ошибки найти корень зла?

В логах вашего Maintenance Plan
10 окт 13, 15:17    [14951321]     Ответить | Цитировать Сообщить модератору
 Re: Maintenance Plan по бэкапированию  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
Посмотрел. Ошибка на шаге
4. Вызод JOB, который будет запаковывать бэкапы в архивы - Execute SQL Server Agent Job Task (Job Name: Arch_BackUp)

Текст ошибки:
Executing the query "EXEC msdb.dbo.sp_start_job @job_id=N'fb813135-f4b7..." failed with the following error: "SQLServerAgent Error: Request to run job Arch_BackUp (from User sa) refused because the job is already running from a request by User sa.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.


Хотя в этот момент в Job Activity Monitor я вижу, что никакие джобы не выполняются.
Как так?
10 окт 13, 15:34    [14951492]     Ответить | Цитировать Сообщить модератору
 Re: Maintenance Plan по бэкапированию  [new]
Glory
Member

Откуда:
Сообщений: 104751
BuKTaP
Хотя в этот момент в Job Activity Monitor я вижу, что никакие джобы не выполняются.
Как так?

Опять вы считаете, что сервер вас обманывает.
Вы считаете, что ваш план будет дожидаться окончания джоба из "4. Вызод JOB, который будет запаковывать бэкапы в архивы - Execute SQL Server Agent Job Task (Job Name: Arch_BackUp)" ?
10 окт 13, 15:38    [14951523]     Ответить | Цитировать Сообщить модератору
 Re: Maintenance Plan по бэкапированию  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
Я не считаю, что сервер меня обманывает.
Я понимаю, что план не будет ждать окончания работы джоба, но почему тогда если этот джоб работает, то я не вижу его в активити монитор?
10 окт 13, 15:44    [14951583]     Ответить | Цитировать Сообщить модератору
 Re: Maintenance Plan по бэкапированию  [new]
Glory
Member

Откуда:
Сообщений: 104751
BuKTaP
но почему тогда если этот джоб работает, то я не вижу его в активити монитор?

Откуда же это известно. Может не туда смотрите. Может джоб уже закочился
10 окт 13, 15:45    [14951599]     Ответить | Цитировать Сообщить модератору
 Re: Maintenance Plan по бэкапированию  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
Через Job Activity Monitor уже не можно смотреть активность джобов? Или я чего-то не знаю?
Там активности этого джоба нет, но в этот же момент (судил по времени в истории) получаю эту ошибку.

Ума не приложу. Glory, скажите конкретнее куда копать, а то я ваши намёки никак разгадать не могу.


Стрелки в плане:
от 1 шага ко 2-му
от второго две стрелки к 3-му и 4-му
может тут один из шагов не успевает завершиться?
10 окт 13, 17:19    [14952346]     Ответить | Цитировать Сообщить модератору
 Re: Maintenance Plan по бэкапированию  [new]
Zufo
Member

Откуда:
Сообщений: 11
по кем работает SQL server agent?
10 окт 13, 17:30    [14952421]     Ответить | Цитировать Сообщить модератору
 Re: Maintenance Plan по бэкапированию  [new]
Glory
Member

Откуда:
Сообщений: 104751
BuKTaP
Через Job Activity Monitor уже не можно смотреть активность джобов? Или я чего-то не знаю?
Там активности этого джоба нет, но в этот же момент (судил по времени в истории) получаю эту ошибку.

Ума не приложу. Glory, скажите конкретнее куда копать, а то я ваши намёки никак разгадать не могу.

Куда вас несет ?
Сервер вам сообщил, что на _момент выполнения_ "EXEC msdb.dbo.sp_start_job @job_id=N'fb813135-f4b7 указанный джоб уже работал.
Какое отношение это имеет к вашим теперешним манипуляциям в Job Activity Monitor ?
Вы опять уверены в непогрешимости своего кода и ищите причину в сервере.
10 окт 13, 17:33    [14952449]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить