Имя: Пароль:
1C
1С v8
база SQL не бэкапится
,
0 Dirk Diggler
 
10.08.12
12:17
Не могу забэкапить базу на SQL 2008(стоит на SBS 2011). Пользуюсь заданием у SQL агента, которое запускает приведенный скрипт. Он выполняется, первый bak создается, а потом вылетает с ошибкой. В журнале событий можно прочесть:

Операция BACKUP не выполнила команду BACKUP DATABASE upp_op. Проверьте дополнительные сообщения в журнале приложения резервного копирования.

Операция BACKUP не выполнила команду BACKUP LOG upp_op. Проверьте дополнительные сообщения в журнале приложения резервного копирования.

Что за шляпа, как лечить? Чем еще можно автоматизировать бэкапы?

DECLARE
@DataBaseName   SYSNAME,    -- имя текущей базы данных (в процессе перебора)
@BackUpPath   SYSNAME,    -- полный путь к bak-файлу резервной копии текущей базы данных
@BackUpPathLog   SYSNAME,    -- полный путь к bak-файлу резервной копии текущей базы данных
@ArchPath   SYSNAME,    -- полный путь к cab-файлу резервной копии текущей базы данных
@DirPath      SYSNAME,    -- полный путь к каталогу резервных копий баз данных
@CopyPath   SYSNAME,    -- полный путь к каталогу резервных копий баз данных
--@CopyPath2   SYSNAME,    -- полный путь к каталогу резервных копий баз данных

@FSO      INT,        -- ссылка на OLE-объект "Scripting.FileSystemObject"
@BackUpSuffix   SYSNAME,    -- автоматически добавляемый к именам bak-файла и cab-файла суффикс, содержащий текущую дату
@DateString   varchar(8),
@TimeString   varchar(4), -- дата и время для формирования суффикса
@CommandArh   nvarchar(200)

-- Имя базы данных
SELECT @DataBaseName = 'upp_op'

-- Путь к каталогу резервных копий баз данных:
SET @DirPath   = 'B:\MSSQL\Backup\'

-- Путь к каталогу резервных копий баз данных в сети:
SET @CopyPath   = '\\atsiruk\BackUp SQL bases\Base1c8\'

-- Создание объекта "Scripting.FileSystemObject"
EXEC sp_OACreate "Scripting.FileSystemObject", @FSO OUT

SELECT @DateString      = convert(char(8),getdate(),112)
SELECT @TimeString      = left(convert(char(8),getdate(),108),2)+substring(convert(char(8),getdate(),108),4,2)
--SELECT @BackUpSuffix = '_' + @DateString + '_' + @TimeString + '_backup_full'
SELECT @BackUpSuffix = '_' + @DateString + '_backup_full'

 
-- Получение полных имён bak-файла и cab-файла:
SET @BackUpPath = @DirPath + @DataBaseName + @BackUpSuffix + '.bak'
SET @BackUpPathLog = @DirPath + @DataBaseName + @BackUpSuffix + '_log.bak'
SET @ArchPath    = @DirPath + @DataBaseName + @BackUpSuffix + '.rar'
   
-- Резервное копирование базы данных (получение bak-файла):
BACKUP DATABASE @DataBaseName TO DISK = @BackUpPath WITH INIT, SKIP
BACKUP LOG @DataBaseName TO DISK = @BackUpPathLog WITH NOINIT, SKIP
1 Dirk Diggler
 
10.08.12
12:18
кстати, после появления ошибки не могу отредактировать шаг задания - выкидывает
2 Maxus43
 
10.08.12
12:18
>>Проверьте дополнительные сообщения в журнале приложения резервного копирования
не смотрел? логи глянь, там ошибку напишет конкретную
3 Dirk Diggler
 
10.08.12
12:19
c ошибкой: Параметры разрешений для конкретного приложения не дают разрешения Локальный Запуск для приложения COM-сервера с CLSID
{46063B1E-BE4A-4014-8755-5B377CD462FC}
и APPID
{FAAFC69C-F4ED-4CCA-8849-7B882279EDBE}
пользователю DOMAIN\admin с SID (S-1-5-21-2025846169-9995385734-2282904719-1156) и адресом LocalHost (с использованием LRPC). Это разрешение безопасности можно изменить с помощью служебной программы управления службами компонентов.
4 Dirk Diggler
 
10.08.12
12:19
приходится management studio перезапускать, тогда работает
5 Dirk Diggler
 
10.08.12
12:19
(2) да я что-то не нашел где эти логи-то ))
6 Maxus43
 
10.08.12
12:19
да и ересь имхо уже юзать самопальные скрипты для бэкапа, мэйнтенс план создал и не парься
7 Maxus43
 
10.08.12
12:20
логи у скл-агента, коли под ним запускается
8 Dirk Diggler
 
10.08.12
12:22
(7) там тоже самое
BACKUP failed to complete the command BACKUP DATABASE. Check the backup application log for detailed message. а где он этот application log  не видать.
9 Maxus43
 
10.08.12
12:24
>>Параметры разрешений для конкретного приложения не дают разрешения Локальный Запуск для приложения COM-сервера с CLSID
смотри в компонентах компа, найди этот ком класс, гляди разрешения, активация и т.д.
10 OldFornit
 
10.08.12
12:33
может сделать проще? Через план обслуживания на самом сервере (не агенте) создается расписание бекапов с указанием местоположения где-то локально.
Затем смотрим появившиеся задания на агенте и добавляем шаги - дополнительную архивацию, перемещение архивов при необходимости. Единственная закавыка - это поковыряться с т.н. proxy user, от чьего имени будут запускаться шаги с категорией CMDExec
11 Dirk Diggler
 
10.08.12
12:56
хм. а через план обслуживания работает. все, вопрос закрыт. блрювас.