Имя: Пароль:
1C
1С v8
ibcmd infobase dump может работать без выгона пользователей?
,
0 NorthWind
 
06.02.23
15:15
Случайно запустил среди дня

C:\Program Files\1cv8\8.3.16.1876\bin\ibcmd.exe" infobase dump --db-server=*** --dbms=MSSQLServer --db-user=*** --db-pwd=*** --db-name=*** D:\1C_ArcDT\arc_helios_6.dt

и оно не написало никакой ошибки, типа немонопольно... Процесс висит, чего-то делает. Как так? Оно может работать с юзерами в базе?
1 Garykom
 
гуру
06.02.23
15:16
(0) да
2 NorthWind
 
06.02.23
15:17
а насколько консистентный dt получается, если люди работают?
3 NorthWind
 
06.02.23
15:18
с SQLевским BAK-файлом обычно все неплохо, сильных косяков в базе не припомню, ну кроме того что какие-то последние документы оказываются недовведены, не проведены и т.п.
4 ansh15
 
06.02.23
15:35
(2) Если люди совсем ничего не делают и за время выгрузки не было фоновых/регламентных заданий, то может получиться.
Но лучше не просто выгонять, вообще остановить сервер приложений или автономный сервер. Тогда вероятности больше, что получится.
Она напрямую к СУБД обращается и понятия не имеет, что там сервер приложений делает.
5 NorthWind
 
06.02.23
15:40
(4) а "не получится" - какого плана? :) DT может вовсе не загрузиться?
6 NorthWind
 
06.02.23
15:41
и существует ли механизм заставить ее работать "старым способом", т.е. не делать копию, если в базе работают еще пользователи?
7 ansh15
 
06.02.23
15:53
(5) Ну да, напишет "загружены не все данные".
(6) СУБД о пользователях сервера приложений ничего не знает и сообщить о них утилите ibcmd не сможет.
8 lodger
 
06.02.23
16:34
7.3.5. Выгрузка информационной базы в файл
С помощью утилиты управления автономным сервером (ibcmd) предоставляется возможность выгрузить информационную базу в dt-файл. Для этого следует использовать команду вида:
ibcmd infobase dump --dbms=mssqlserver --db-server=dbServerName --db-user=dbUser --db-pwd=dbUserPassword --db-name=docs-db --data="d:\ss-data\dbName-data" 1cv8.dt

При выполнении данной команды необходимо быть уверенным, что с базой данных, которая выгружается в dt-файл, не должно быть никаких подключений. Данное ограничение включает в себя запрет на работу с выгружаемой информационной базой нескольких серверных приложений (как автономных, так и обычных). В противном случае возможно нарушение целостности создаваемого файла выгрузки информационной базы (dt-файл).
9 lodger
 
06.02.23
16:35
(6) оберни вызов ibcmd infobase dump в скрипт, а в скрипте проверяй сколько людей и нелюдей в базе.
10 NorthWind
 
06.02.23
17:51
(7)(8)(9) понято, спасибо.
11 mistеr
 
06.02.23
20:58
(0) Snapshot Isolation есть?

Может она того, все в одной мега транзакции пытается выгрузить?
12 NorthWind
 
06.02.23
21:42
(9) но тут, кстати, есть нюанс. Я так понимаю, оно не запирает базу в эксклюзивный режим, так что проверка наличия юзаков до старта дампа не дает никакой гарантии, что кто-нть не зайдет в процессе или не стартует фоновое задание.
13 lodger
 
07.02.23
09:34
(12) после завершения дампа проверять кто есть ещё раз.
если уже есть - повторить.
если нет - выгрузить ЖР и посмотрить логоны за промежуток времени.

а ещё проще поставить блокировку на сервере 1с.
14 NorthWind
 
07.02.23
09:51
вчера человек 10 работало во время выгрузки, попробую dt-шку загрузить и посмотреть в каком она состоянии. Может, там все не так уж и плохо. На самом деле я бэкапы-то скулем делаю, а это больше нечто вспомогательное, чтобы постоянно была относительно свежая копия для тестов, например.
15 lodger
 
07.02.23
09:53
(14) ну и откатывай себе ДТшку в 4 утра, и когда в компании обед. по расписанию каждый день.
16 Kassern
 
07.02.23
09:54
(14) " чтобы постоянно была относительно свежая копия для тестов, например." - а вы разве не на скуле тестите? Проще ведь бекап скуля развернуть на тестовой среде. ДТшки делают в основном, чтобы проверить базу на ошибки, либо для переноса между разными скулями базы данных (вроде в новых платформах завезут для этого другой инструмент)
17 NorthWind
 
07.02.23
09:54
так и сделано (в 5 утра). Правда, начиная с УПП 194.2 выгрузка платформой почему-то перестала работать. Я подозреваю, из-за фонового по обновлению индекса поиска, оно запускается в 3 утра и, видимо, до 5 не успевает. Из-за того что выгрузка платформой отвалилась, я как раз и начал разбираться с ibcmd.
18 NorthWind
 
07.02.23
09:58
(16) нам удобнее локальная копия по ряду соображений. Развернуть бэкап скуля для нашей базы занимает примерно столько же времени, сколько загрузка локальной DT - минут 30-40. Сервер достаточно старый и слабенький.
19 Kassern
 
07.02.23
10:05
(18) Если время одинаковое, то зачем париться? Тем более у вас бекапы скуля по любому хранятся готовы, не нужно ждать выгрузки дт.
20 NorthWind
 
07.02.23
10:32
(19) выгрузку dt ждать не надо. см. (17) - работает регламентная задачка, которая их подготавливает рано утром. Зашел в папку и забрал какой больше нравится - сегодняшний, вчерашний, недельной давности, месячной. 30 последних штук хранится. Благо, и размер у них небольшой.
21 NorthWind
 
07.02.23
11:43
(8) Кстати, каково назначение --data="d:\ss-data\dbName-data"? У меня в 8.3.16 ругается на этот ключ, мол, он не нужен.
22 NorthWind
 
07.02.23
11:44
без него все работает
23 ansh15
 
07.02.23
11:55
(21) Это в более поздних версиях платформы ввели.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс