|   |   | 
| 
 | Бекап 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 убрать, чтоб статус не возвращался     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |