Не выгружается база данных 1с

Обновлено: 04.07.2024

При эсклуатации баз данных 1С вы можете сталкнуться с такой ситуацией:

Сеанс работы завершен администратором.
по причине:
Соединение с сервером баз данных разорвано администратором
Microsoft OLE DB Provider for SQL Server: Неопознанная ошибка
HRESULT=80004005

Признаки проблемы: нельзя выгрузить в dt

Внимание! Ошибок с кодом 80004005 уйма, более подробно классофикацию я описал здесь http://www.gilev.ru/1c/mssql/errsql.htm . Здесь же мы говорим именно о "неопознанной ошибке" :)

Сотрудники 1С рекомендуют решать проблему так:

Нюансы: обратите внимание, что "Стандартные проверки" платформой (chdbfl, в конфигураторе) упорно говорят, что с базой все ОК.

Также с этой ситуацией пересекается следующая ситуация:

Готов пояснить, фоновые задания сами по себе не зло, но регламентные процедуры
с полнотекстовым поиском - вещь в себе - и память она может через какое время
съедать ресурсы rphost.exe, что на другие операции не останеться, и просто
базу блокировать
т.е. другими словами, после первого шага уже можно проверять - возможно проблема "уйдет".

2. Перезапустить сервер

3) делаем бэкап средствами sql

Делать резервное копирование рекомендую при любых действиях, когда может потребоваться "возврат" к предыдущему состоянию данных

4) снимаем базу с поддержки, выгружаем cf

убиваем в менежмент консоли базе данных в таблице config запись более 120Мб, делаем "загрузить конфигурацию" (не объединение) убиваем в менежмент консоли базе данных в таблице config запись более 120Мб, делаем "загрузить конфигурацию" (не объединение)

вот пример работоспособности этого приема

DROP TABLE [dbo].[Config]

5) делаем "загрузить конфигурацию" (не объединение) из cf

после этого проверяем, проблема уходит.

P.S. Если у Вас есть возможность поделиться своим опытом, то давайте расширим данный материал.

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Недавно возникла эта проблема
симтомы
1. Любое действие записи вызывает данную ошибку.
2. Не грузятся обмены
3. Невозможно запустить проверку БД и выгрузку
4. Невозможно открыть конфигуратор из-за блокировки информационной базы

Собственно никаких блокировок БД не было, проверялось и в консоли сервера приложений 1с и в консоли SQL сервера
Лечение.
1. делаем бэкап (на всякий пожарный, можно и не делать у кого смешанная модель бэкапа позволяющая восстановить базу на состояние часа назад к примеру )
2. сносим базу с сервера приложений(не трогая БД на SQL сервере)
и заводим её заново (можно наверно и перезагрузить сервер приложений 8.1,
но у меня на нем крутится более 20 баз, которые работали вполне адекватно)
итого починка занимает не более 5 минут(без бэкапа)

хотя вполне возможно у меня был частный случай. но есть у меня подозрение что гребет именно сервер приложений и сама БД тут совершенно ни причем

спасибо, интересный пример
но если не запускалась проверка, то неплохобы было увидеть текст ошибки (собрать можно технологическим), тогда причина станет очевидней (3) ПОТРЯСАЮЩЕ! А статью вы пробывали читать или ваша рекомендация отличается от приведенных рекомендаций в статье? :) ИЛИ ВЫ ПОТВЕРЖДАЕТЕ ПРАВИЛЬНОСТЬ МЕТОДА? :) подтверждаю :) опытным путем было получено, что ошибочка вылетает
при некорректном закрытии программы пользователем (во время заполнения книги продаж в типовой бухне, например ) "Ну надоело ждать".
тока все таки лучшее перегрузить, чем сносить, если есть возможность. Был еще такой глюк с такой же ошибкой в итоге, один из пользователей ставил отбор по одному из сотрудников и вылетали все. пытались повторить на других машинах и другими пользователями, хрена. дальше все продолжают успешно работать, кроме как Невозможно запустить проверку БД и выгрузку. перегружаемси, индекируемси - те же грабли. У нас не выгружались ни cf ни dt. Оказалось, что после некорректного заверешения сервера предприятия остался висеть процесс rphost. Выяснилось это только через неделю (когда увидели что их больше чем надо :)))). Судя по всему старый процесс блокировал запись в таблице config Были такие грабли, поставил сервер 2008 с сиквел 2008, 3-й месяц все в норме У меня всегда лечится перезапуском Сервера 1С. Интересно в новой платформе 8.1.13.37 не решили эту проблему?!
что-то там колдуют с контролем двоичных данных в реквизитах на размер, надеемся на 14 релиз

Включив технологический журнал на время загрузки, можно определить таблицу, в которой содержатся такие хранилища. Найдите средствами MS SQL Server Query Analizer в этой таблице колонки типа image. Для каждой колонки типа image выполните запрос вида:

sel ect top 10 DATALENGTH(_Fld4044)
from _InfoReg4038
order by DATALENGTH(_Fld4044) desc

Он позволит узнать максимальные длины хранимых в них данных. Не рекомендуется хранить данные длиннее 100 - 200Mb.

Ошибка :"Соединение с сервером баз данных разорвано администратором
Microsoft OLE DB Provider for SQL Server: Неопознанная ошибка
HRESULT=80004005"

Имеем : 1C 8.1.13.41 УПП 1.2.19.21 на MS SQL 2005 SP3 на Win2003 Server Enterprise на компе 4Gb физ. памяти (SQL настроен на Max Memory 2Gb)

Решение в моем случае:
Виндовс по-умолчанию 2Гб берет себе, а 2 отдает нам. SQL почти всю остальную память поедал (в настройках стоит 2Gb) и оставлял для всех остальных только 128Мб физ. памяти(как и положено SQL- он не должен забирать ВСЁ, должен 128 оставить). Ошибка 1С начала проявляться после перехода на релиз 1.2.21.1. Да, действительно, в релизе 1.2.19.1 в файле dbo.Config не было записей больше 120Мб. А вот после обновления на 1.2.21.1 такая запись (примерно 135мб )появляется. При снятии с поддержки запись исчезает сама, и ничего удалять не приходится. При постановке на поддержку -снова появляется. Я так понял, что это и есть конфигурация поставщика.
Если SQL оставляет всего 128, а надо целых 135, то вывод- надо дать рабочим процессам живую физическую память. Moжно урезать SQL. А можно винды. Установив в boot.ini ключ /3GB я тем самым отдал виндам 1Gb, а всему остальному 3Gb, а не 2/2 как по умолчанию. После перезагрузки - все ОК.
Буду рад, если эти рекомендации помогут кому-нибудь еще :-)

(14) да, в отношении Config, пункты 1 и 2 как раз и позволяют бороться с размером в 1.2.21.1. Спасибо что подтвердили верность инструкции. описанная проблема полностью описывает траблы с сифилисом который сейчас твориться у меня с базой (бекапы собственные не создаются) попробую данные здесь рекомендации. Вопрос - а если отключить поддержку, то как ее вернуть? =) как не странно помогло (проверил на демо базе =))) Возникла ошибка "Сеанс работы завершен администратором". Установив в boot.ini ключ /3GB ошибка устранилась. Огромное спасибо за полезную информацию. (21) artur.antipin, аналогичная проблема. Я думаю вряд ли поможет, если 32 Gb на сервере, SQL использует 30, 1Gb погоды не сделает а можно конкретнее пожалуйста где именно в файле boot.ini установить данный ключ /3GB ?

Недавно у клиентов была такая проблема, просто отпала база с указанной ошибкой. MS SQL 2000 показывал базу не в состоянии Suspend, а в состоянии Offline. Понятно что наивный расчет на Online базы не оправдался и я устроил допрос.

В ходе следствия выяснилось что ничего страшного никто не делал (на самом деле) просто у части юзеров полезли избыточные блокировки, и сервер(физический) было решено перезагрузить.

После перезагрузки никто не смог войти, т.к. был Offline режим файлы базы скопировать тоже не удавалось, без меня делать детач боялись. Но так как мне ничего не оставалось я нажал детач. Сервер не много подумал и отключил базу но в списке баз отключенная база осталась не отобража имени, просто пустая строка, перезапуск сервера открылся с(!) подключенной живой базой. Но была проблема, беглый осмотр основных мест показал, что полностью упали итоги регистра Заказы покупателей( изб блокировки были связаны скорее всего с этим) в итоге пришлось их пересчитывать 2,5 часа не долго, но обычно за месяц итоги считались минут 15, значит точно упали.
КонецИстории )

з.ы. причин установить не удалось

Целый день бьюсь с этой проблемой. Пришлось потанцевать с бубном. УПП 1.2.27 Платформа 15. sql 2005. Ошибка решилась соблюдением следующей последовательности действий.
1) удаляю записи больше 120 мб в sql.
2) Снимаю базу с поддержки
3)Объединяю с типовой cf 1.2.27 без галок (одновременно ставлю на поддержку) 1.2.27 предварительно протестирована и исправлена (не знаю важно ли это, но было именно так) Возникла аналогичная проблема "Соединение с сервером баз данных разорвано администратором Microsoft OLE DB Provider for SQL Server: Неопознанная ошибка
HRESULT=80004005" при выгрузке конфигурации из БП 1.6.24.7 на 1С 8.2, сервер SQL 2000. Вопрос решился добавлением рабочего процесса в консоли «Серверы 1С:Предприятия 8.2». Попробуйте. :) Тоже возникла проблема с основной конфигурацией в файловом варианте. Как посоветуете drop-нуть ConfigSave?

Ошибка: Сеанс работы завершен администратором.
по причине:
Соединение с сервером баз данных разорвано администратором
Microsoft OLE DB Provider for SQL Server: [DBNETLIB][ConnectionRead (recv()).]General network error. Check your network documentation.
HRESULT=80004005, SQLSrvr: Error state=1, Severity=10, native=11, line=0

1C 8.1.14 + MS SQl 2005 + Терминальник (на 3х серверах)

Ошибка возникает при любых действиях пользователя - хаотично ((( причин установить не удалось

(27) как ваша ошибка коррелирует с указанной в статье "Неопознанная ошибка"?
У вас же проблема с большей вероятностью в включенном файрволе. (28) файрволов/антивирусов нет на сервере + Ошибка возникла без каких либо изменений в системе через год после експлуатации. (27) Vet_ne, Не подскажете как проблема решилась, у меня тоже HRESULT=80004005, SQLSrvr: Error state=1, Severity=10, native=11, line=0
бодаюсь пока безрезультатно.

вот выдержка из этой статьи (хоть и для 2000, но принцип тотже):

Устранение неполадок с установкой подключений
Большинство подобных неполадок в SQL Server 2000 возникает из-за проблем с протоколом TCP/IP или проверкой подлинности Windows либо сочетанием проблем обоих типов.

Внимание! Перед тем как приниматься за устранение неполадок с установкой подключений в SQL Server 2000, убедитесь, что на компьютере с SQL Server запущена служба MSSQLServer.

ping <Server Name>

Запишите возвращенный IP-адрес.
4. Из командной строки выполните следующую команду (где IP address — это IP-адрес, выписанный при выполнении действия 3):

ping –a <IP address>

Убедитесь, что команда возвращает правильное имя сервера. Если же одна из указанных выше команд завершается сбоем, возвращает неправильное значение или истекает время ожидания для ее выполнения, значит, неправильно работает просмотр DNS или существует иная проблема, связанная с функционированием сети или маршрутизацией. Чтобы просмотреть текущие параметры DNS, запустите из командной строки следующую команду:

Чтобы устранить эту проблему, добавьте запись для сервера в файл %systemroot%\system32\drivers\etc\hosts на клиентском компьютере. Кроме того, обойти проблему можно путем установки подключения к серверу с помощью сетевой библиотеки именованных каналов.

Примечание. Необходимо включить хотя бы протокол TCP/IP и именованные каналы.
3. Откройте вкладку Псевдоним и проверьте псевдонимы, настроенные для экземпляра SQL Server.
4. Убедитесь, что в свойствах псевдонимов правильно настроены имя сервера (IP-адрес) и протокол.
Можно создать новый псевдоним для тестирования подключения по имени сервера, IP-адресу или другому протоколу.

Примечание. В более ранних версиях компонентов доступа к данным Майкрософт (MDAC) интерфейс программы сетевого клиента отличается. Таким образом, если вы не видите описанных в этой статье элементов интерфейса, установите на клиентском компьютере более новую версию компонентов MDAC.

Что делать?

Варианты действий:

  1. Восстановить информационную базу из резервной копии (если есть).
  2. Использовать встроенную утилиту для проверки целостности — chdbfl.exe.
  3. Выполнить тестирование и исправление базы через Конфигуратор.
  4. Создать новую пустую базу и загрузить сформированный dt-файл.

Рассмотрим каждый из вариантов подробнее.

Рекомендация : перед любыми действиями сделайте резервную копию базы и убедитесь, что отсутствуют активные подключения пользователей.

I. Восстановление из резервной копии

Откройте Конфигуратор. Через меню « Администрирование — Загрузить информационную базу… » выполните восстановление рабочей резервной копии.

Рекомендация : для этих целей рекомендуем создать новую базу и выполнить загрузку копии в неё.

II. Использование утилиты chdbfl.exe

  • Найдите папку с установленной платформой 1С — например, « C:\Program Files (x86)\1cv8\8.x.xx.xxxx », где 8.x.xx.xxxx - номер релиза платформы. Или проверьте в свойствах ярлыка запуска 1С, значение «Рабочая папка».
  • Откройте приложение из каталога bin, где находится искомый файл.
  • Выберите файл 1Cv8.1CD, установите признак « Исправлять обнаруженные ошибки » и нажмите на кнопку « Выполнить ».

По окончанию проверки программа покажет результаты, а при возможности — исправит обнаруженные ошибки.

III. Тестирование и исправление

  • Откройте Конфигуратор.
  • Выберите пункт « Тестирование и исправление… ».
  • В блоке « Проверки и режимы »: — если база большая, проверьте последовательно операции; если малого размера, то все разом:

— Проверка логической целостности;

— Проверка ссылочной целостности;

  • Установите параметр « Тестирование и исправление ».

При наличии ссылок на несуществующие объекты программа по умолчанию предлагает ничего не изменять.

Рекомендация : проверьте для начала режим ссылок «Не изменять». Программа выведет найденные ссылки, и после этого примете решение, очищать их или создавать.

IV. Выгрузить dt-файл и создать новую базу

Пункт аналогичен варианту №1 с тем различием, что вы восстанавливаете не резервную копию, а сначала выгружаете dt-файл.

  • Откройте Конфигуратор для ИБ, где наблюдаются ошибки.
  • Через меню « Администрирование — Выгрузить информационную базу… » выполните выгрузку базы в dt-файл.
  • Создайте новую информационную базу и войдите в Конфигуратор.
  • Через меню « Администрирование — Загрузить информационную базу… » выполните загрузку копии базы.

V. Дополнительные действия

При подозрениях на ошибки жёсткого диска, на котором располагается информационная база:

  • скопируйте каталог базы на другой физический диск;
  • удалите все файлы и папки, кроме файла 1Cv8.1CD;
  • войдите в базу с нового расположения.

VI. Нестандартные ситуации

Когда один пользователь входит в базу 1С и работает без ошибок, а у другого — сбой. В этом случае выполните очистку кэша на рабочем месте, где возникает ошибка. Подробнее здесь .

В других случаях ошибка может скрываться в платформе 1С. Поэтому, проверьте обновление и переустановите платформу на новый релиз, одновременно удалив устаревшие версии.

⚡ Подписывайтесь на канал или задавайте вопрос на сайте — постараемся помочь всеми техническими силами. Безопасной и производительной работы в Windows и 1С.

т.е. работаете в базе на скл, но не пользуетесь тулзой для администрирования 1С сервера ?!

Там же можно на каждой базе смотреть сеансы, в том числе и подвисшие покажет. И даже не только подвисшие, но и блокировки. А еще оно может показать, что там есть регламентные задания, выполняемые фоном под дефюзером на сервере.

(8) Консолью Администрирование серверов 1С Предприятия? Пользуюсь, обычно ей завершаю сеансы. Но после этого возникают такие проблемы (не точно).
(9) если лень разбираться и условия позволяют, перезапустите агент сервера, все зависшие соединения/сеансы должны грохнуться.
(9) бывают ситуации, когда сеанс завершен, а соединение осталось.
смотреть не только сеансы, но и соединения!
(9) сделай кардинальнее- пререзапусти агента 1С, тот самый что сервер 1с предприятия.
(13) (14) Один раз такое проканало. Был зависший сеанс, который нельзя было грохнуть через консоль, постоянно появлялся заново, не давал обновить конфу. Перезапустили агент сервера 1с и конфа нормально обновилась.
(17) В папке C:\Program Files\1cv8\srvinfo\reg_1541\ ничего кроме 1CV8Clst.lst нет. Сейчас, будут проблемы - посмотрю. спс!
А на счет (16) как?

(18) >> В папке ничего кроме 1CV8Clst.lst нет.

Это нормально. Проблема не в самом наличии файла 1CV8Clst.lst. Проблема в его некорректном содержимом.
Удалить этот файл при работающих службах сервера 1С невозможно. Поэтому сначала надо остановить сервер, а потом файл удалить.
На последних версиях платформы такой проблемы не наблюдается. Но раньше периодически приходилось пользоваться тем скриптом, который я привёл в (17).

Не знаю.
Я не очень понимаю для чего нужно повторно изобретать велосипед. Я в принципе противник велосипедостроения.
Во всех текущих версиях конфигураций с встроенной БСП везде есть обработка БлокировкаРаботыПользователей, которая запускается из панели Обслуживание раздела Администрирование. Там же есть консоль активных пользователей, из которой можно удалять сеансы вручную.

Или у вас какая-то древняя конфигурация на обычных формах или без БСП? В таком случае можете попробовать "сдёрнуть" решение из БСП или откуда-нибудь. Только зачем это нужно - не совсем понятно, если у вас есть доступ к консоли администрирования кластера 1С.

(20) Да, конфигурация на обычных формах или без БСП. Не понятно: когда обработка всех пользователей выгонит из Альфа-Авто, то начинает их вновь запускать!? Где это делается: в самой Альфа-Авто или на системном уровне платформы? Платформа 8.3.10.2466.

(21) >> Где это делается: в самой Альфа-Авто или на системном уровне платформы?

Понятия не имею. Надо смотреть. Как говорится, возможны варианты.
Ещё раз повторюсь. При наличии доступа к консоли администрирования кластера 1С написание подобных обработок - есть не более чем костылестроение. Пустая трата времени.

"C:\Program Files (x86)\1cv8\8.3.9.1850\bin\1cv8.exe" ENTERPRISE /S%NameServer%\%NameBase% /N%Login% /P%Password% /DisableStartupMessages /C ЗавершитьРаботуПользователей
"C:\Program Files (x86)\1cv8\8.3.9.1850\bin\1cv8.exe" CONFIG /S%NameServer%\%NameBase% /N%Login% /P%Password% /DisableStartupMessages /UC %KodRazr% /DumpIB C:\BackUp\%mydate%_%NameBase%_copy.dt /OUT C:\BackUp\%mydate%_%NameBase%_log.txt
"C:\Program Files (x86)\1cv8\8.3.9.1850\bin\1cv8.exe" ENTERPRISE /S%NameServer%\%NameBase% /N%Login% /P%Password% /DisableStartupMessages /C РазрешитьРаботуПользователей /UC %KodRazr%

Но почему-то не завершается работа пользователей. Подскажите, пожалуйста, чего не хватает или где ошибка?

(0)
Во-первых. В клиент-серверной информационной базе бэкап по раписанию необходимо производить средствами СУБД
Во-вторых. Работа пользователей завершается не мгновенно, а с таймаутом, ЕМНИП, 60 секунд.
(1) , Спасибо за ответ! Завершение работы пользователей ждала 5 минут. Подожду еще подольше.
(1) Если у пользователя что-то делается - он может вообще никогда не завершиться. А спящие сеансы только по таймауту отвалятся.

(3) > Если у пользователя что-то делается - он может вообще никогда не завершиться

А если он в этот момент ожидает выполнения запроса в СУБД, так он вообще может быть бессмертным =)

(2) "Завершение работы пользователей ждала 5 минут. Подожду еще подольше.". лучше уж вот как-то вот так:

Start "Stop" /Wait "C:\Program Files (x86)\1cv8\8.3.9.1850\bin\ragent.exe" -stop
.
Start "Start" /Wait "C:\Program Files (x86)\1cv8\8.3.9.1850\bin\ragent.exe" -start

(0) А "C:\Program Files (x86)\1cv8\8.3.9.1850\bin\1cv8.exe" ENTERPRISE. /C ЗавершитьРаботуПользователей закрывает конфигуратор? Может конфигуратор не закрыт.
(0) Не занимайтесь ерундой.
Выгрузку надо делать средствами СУБД, а не через выгрузку конфигуратором.
Выгрузка в dt не является архивом.
(8) Ну, например, SQL-сервер может выйти из строя. На этот случай dt-выгрузка позволит создать файловую базу.
Есть ли методы программно определить, есть ли пользователи в базе? Как для версии 7.7 как из одной базы 1С проверить есть ли кто в другой. По временным файлам Что-то мешает сделать dt-выгрузку базы. Что?? Что-то у себя их не нашел. правда у нас отдельный SQL-сервер, может не там искал?

(9) > На этот случай dt-выгрузка позволит создать файловую базу
В которую данные из SQL тупо не влезут из за ограничения размеров страниц, ага.

Закопайте уже стюардессу.

(11) Ошибка о невозможности разворота из dt появляется на при выгрузке, а при загрузке в файловую базу. Ваш К.О.
(10) в последних платформах ограничения размеров страниц ля файловых баз снято.
(8) , архив средствами СУБД делается. А выгрузка нужна мне, для подстраховки и для быстрого развертывания базы для экспериментов. В рабочей базе постоянно сидят пользователи.
(15) средствами СУБД все и так быстро делается
и пользователей выгонять не надо
(16) Для экспериментов нужна файловая база, не ставить же на SQL-сервер.
(17) Отлаживать клиент-серверное взаимодействие вообще-то надо на клиент-сервере. Ваш К.О.
(17) для экспериментов регулярность копии особого значения не имеет, поэтому можно обойтись и без выгонялки пользователей. У меня такой скрипт работает, естественно, помимо нормального бэкапа. Сделал копию - хорошо, не сделал - ну, тоже ничего, возьмем позавчерашнюю.
Имхо:
Последовательно
1. Бэкап sql базы средствами субд
(23)+ Точнее можно если отлаживатель всего один на весь сервер 1С, если их несколько то упс

(14) Начиная с версии платформы "1С:Предприятие" 8.3.8 появилась поддержка нового формата файловых баз данных, который позволяет настраивать размер внутренней страницы файла данных. Это размер порции данных, в которых хранится информация и которыми обменивается программа с файловой системой. Предыдущий формат файловой базы данных поддерживал единственный размер внутренней страницы файла – 4Кб. Новый формат по умолчанию использует размер страницы 8192 байта (8Кб), но позволяет его менять в диапазоне от 4Кб до 64Кб (размер страницы может принимать одно из значений: 4096, 8192, 16384, 32768, или 65536 байт).

Обратите внимание, что данная утилита позволяет увеличить или уменьшить размер страницы файла данных, но не снимает ограничение на размер самого внутреннего файла. Теоретически размер внутреннего файла может уменьшится за счет увеличения или уменьшения размера страниц и конвертации данных в новый формат, но результат не гарантирован и может вызвать обратный эффект.

В платформе 1С:Предприятие начиная с версии 8.3.8 увеличение размера страниц до 8192, 16384, 32768 и 65536 байт позволяет увеличить максимальный размер внутреннего файла до 6Гб. При использовании размера страниц 4096 байт максимальный размер внутреннего файла по прежнему не может превышать 4 Гбайта для любой версии платформы.

Читайте также: