Имя: Пароль:
1C
1С v8
Ошибка загрузки информационной базы. Конфликт блокировок при выполнении транзакции.
0 Tornadius
 
14.12.22
09:41
Доброго дня, форумчане.

Столкнулся с проблемой:
После перехода на платформу 8.3.19.1723:
1) выгружаю dt-шник из файловой базы.
2) гружу его в серверную базу (MS SQL)
получаю ошибку:

Ошибка загрузки информационной базы. В информационную базу загружены не все данные
по причине:
Конфликт блокировок при выполнении транзакции:
Microsoft SQL Native Client: Lock request time out period exceeded.
HRESULT=80004005, SQLSrvr: SQLSTATE=HYT00, state=38, Severity=10, native=1222, line=1

3) гружу dt-шник в файловую базу на другой машине - все замечательно, все грузится.

Вопрос: 1) Это особенность платформы?
        2) Это особенность SQL - он у нас старый - 2005.
        3) Не правильно настроены параметры базы - тайминги и прочая...
1 Tornadius
 
14.12.22
10:04
При попытке запустить базу после загрузки выдает сообщение:

>> Авторизация не выполнена. Работа системы будет завершена.

Не удалось выполнить автоматическую регистрацию администратора в списке по причине:
"Значение не является значением объектного типа (Получить)".

Для ведения списка и настройки прав пользователей предназначен список Пользователи,
режим конфигурирования 1С:Предприятия для этого использовать не следует.
2 fbear
 
14.12.22
10:18
это баг из-за загрузки в несколько потоков, попробуй так
1cv8.exe DESIGNER /IBName ibname /RestoreIB "E:\base\load dt\1000000.dt"  -JobsCount 1
3 Kassern
 
14.12.22
10:23
(0) Могу предложить 2 варианта, если ничего не поможет:
1) Выгрузить конфигурацию и накатить на пустышку базу sql. Далее через ВыгрузкаЗагрузкаДанных перенести данные, перепровести документы и закрыть месяца
2) Выполнить переход в сервис (создастся архив с данными базы) на уровне предприятия. Так же развернуть пустышку с конфой на sql и там выполнить загрузку из сервиса.
4 Tornadius
 
14.12.22
10:31
(3) Накатывал базу из архива (выгружен с сервера) средствами SQL - все работает.
    гружу туда нужный dt - не грузится.

Дело в том, что бухи подготовили на файловой копии данные, и поступило распоряжение распространить эти данные на всех бухгалтеров.
завел на сервере новую базу и попытался загрузить туда dt-шник из файловой копии - и тут началось ...
5 Kassern
 
14.12.22
10:38
(4) Я вам написал как обойти выгрузку dt и решить вопрос, если остальные способы не помогли
6 Tornadius
 
14.12.22
10:43
(5) Пытаюсь разобраться с параметрами командной строки: ibname
7 Tornadius
 
14.12.22
10:49
(5) Где и как указать имя сервера?
8 Kassern
 
14.12.22
10:52
(7) Что сделать хотите?
9 fbear
 
14.12.22
10:57
2(6)
4.3.7.1. Параметр /IBName
Параметр /IBName позволяет указать наименование запускаемой информационной базы. В этом случае программа запуска (или исполняемый файл конкретного клиента) выполнит поиск указанной информационной базы в списке информационных баз.

Если баз с указанным именем более одной, запуск будет прекращен с выдачей сообщения об ошибке.

Если база будет обнаружена, произойдет попытка запуска этой информационной базы в соответствии с параметрами и выбранной программой запуска (или исполняемым файлом конкретного клиента).

Примечание. Если в наименовании информационной базы есть кавычки, они должны быть удвоены при указании имени в параметре: База ""СтройТоргВсе"".
10 Tornadius
 
14.12.22
11:03
У меня получилась строка:
C:\Program Files\1cv8\8.3.19.1723\bin\1cv8.exe /ibname "1s-temp" /RestoreIB "C:\Program Files\1cv8\8.3.19.1723\bin\bp_GMyC.dt"  -JobsCount 1
11 ansh15
 
14.12.22
13:28
В качестве предположения: не может ли загрузка из dt в несколько потоков приводить к коллизиям при установленном maxdop=1 у MS SQL, скажем у очень старых версий?
Ее же не для того многопоточной сделали, чтобы выключать...
12 Kassern
 
14.12.22
13:41
(10) Получилось загрузить ДТшку?
13 Tornadius
 
15.12.22
07:09
(12) Нет.

батник не стартует:
1cv8.exe DESIGNER /N "*****" /P "******" /IBName "1s-temp" /RestoreIB "C:\Program Files\1cv8\8.3.19.1723\bin\bp_GMyC.dt"  -JobsCount 1

Даже если его положить прямо в папку bin.
14 Tornadius
 
15.12.22
07:10
(13) Может вместо имени базы указать ее регистрацию на сервере?
15 Tornadius
 
15.12.22
07:11
(11) Про настройки SQL спрошу у админа.
16 JeHer
 
15.12.22
07:18
(4) >>>Дело в том, что бухи подготовили на файловой копии данные, и поступило распоряжение распространить эти данные на всех бухгалтеров.
завел на сервере новую базу и попытался загрузить туда dt-шник из файловой копии - и тут началось ...

Это ж бухи, пусть перенесут эти данные на сервер сами )))
Попробуйте грохнуть список юзеров в файловой. Выгрузить и загрузить в sql. Если запустится завести юзеров штатными средствами.
17 Tornadius
 
15.12.22
07:33
(16) Это не надо в рабочую базу, задача стоит сделать общий доступ для всех в копии.
     вот хотели развернуть еще одну базу на сервере и загрузить туда ДТ-шник.
     Пока вышли из положения рассшарив папку с базой на двоих. Но это временно.
18 Tornadius
 
15.12.22
07:34
(16) Бухи в мирное время пешком не ходят - они берут либо оутсорт либо программиста... :)
19 fbear
 
15.12.22
09:02
(13) а какая ошибка то? Зачем логин и пароль?
1. Создайте новую базу на sql
2. Добавьте новую ИБ на сервере 1С с выше созданной базой
3. Добавьте в список ИБ в стартере эту базу
4. Запустите командную строку
c:\Program Files\1cv8\8.3.20.1674\bin>1cv8.exe DESIGNER /IBName TestRestore /RestoreIB "d:\temp\dump.dt"  -JobsCount 1
В моем случае во всех названиях (sql, ИБ на сервере и в стартере было одно и то же - TestRestore), но Имя надо в команде, то которое прописано в стартере. И путь к дампу поменяйте на свой.
Только что проверил - все работает.
20 lodger
 
15.12.22
09:36
(10) а сервак указать не надо?
21 Demiurg
 
15.12.22
13:52
EXEC sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE WITH OVERRIDE;  
GO  
EXEC sp_configure 'max degree of parallelism', 1;  
GO  
RECONFIGURE WITH OVERRIDE;  
GO
22 Kassern
 
15.12.22
14:00
(21) Это же можно в настройках скуля поменять, без всяких хранимых процедур