|
Бекап SQL через ADO не работает |
☑ |
0
vde69
19.04.24
✎
13:11
|
запрос
USE Ar;
EXEC xp_cmdshell 'net use R: \\192.168.50.1\Share пароль /user:пользователь /persistent:no';
BACKUP DATABASE Ar
TO DISK = 'R:\Ar.trn'
WITH COPY_ONLY, NOFORMAT, NOINIT, COMPRESSION, SKIP, NOREWIND, NOUNLOAD, STATS = 10 ;
EXEC xp_cmdshell 'net use R: /delete';
через консоль SQL работает,
а через ADO делает файл (приличного размера), но потом все заканчивается ошибкой
BACKUP failed to complete the command BACKUP DATABASE Ar
Ошибка: 3041, серьезность: 16, состояние: 1.
после этой ошибки файл бекапа (возможно не полный) удаляется.
|
|
1
Lama12
19.04.24
✎
13:32
|
|
|
2
vde69
19.04.24
✎
13:36
|
(1) с одной стороны похоже, но почему из консоли работает а по ADO нет?
и как понять причину?
|
|
3
eklmn
гуру
19.04.24
✎
13:37
|
(0) ты ж вроде сам спец за полляма? )
|
|
4
Lama12
19.04.24
✎
13:50
|
(2) Ну, если есть возможность...
Я бы поднял копию СУБД. Попробовал воспроизвести ситуацию. Если не воспроизводится, то дело в окружении. Если воспроизводится то поставил бы все апдейты и еще раз попробовал.
|
|
5
vde69
19.04.24
✎
13:58
|
(4) попробовал на другом сервере - все работает
|
|
6
Lama12
19.04.24
✎
14:05
|
(5) Интересно. Версии ядра СУБД совпадают до последней цифры?
Версии библиотек .NET Framework совпадают?
|
|
7
vde69
19.04.24
✎
14:24
|
нашел причину, ADO возвращает несколько промежуточных состояний (типа проценты бекапа), 1c это воспринимает как завершение и шлепает дальше.
|
|
8
Sochinec
19.04.24
✎
14:29
|
(7) а как связано с 1с ?
|
|
9
vde69
19.04.24
✎
14:30
|
ADO запрос на создание копии из 1с вызываю
|
|
10
vde69
19.04.24
✎
20:32
|
решение для тех кто сюда зайдет позже:
делим сабж на 3 запроса и выполняем по отдельности
-------------------
USE Ar;
EXEC xp_cmdshell 'net use R: \\192.168.50.1\Share пароль /user:пользователь /persistent:no';
-------------------
BACKUP DATABASE Ar
TO DISK = 'R:\Ar.trn'
WITH COPY_ONLY, NOFORMAT, NOINIT, COMPRESSION, SKIP, NOREWIND, NOUNLOAD, STATS = 10 ;
-------------------
EXEC xp_cmdshell 'net use R: /delete';
-------------------
|
|
11
katamoto
20.04.24
✎
05:36
|
(7) Возможно помогло бы просто STATS = 10 убрать, чтоб статус не возвращался
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой