1с проверка базы на ошибки checkdb

Тестирование и исправление также рекомендуется выполнять перед обновлением конфигурации. Если после возникновения ошибок у Вас есть возможность запустить конфигуратор 1С — выполните проверку с помощью инструментов в конфигураторе. Если же конфигуратор уже не открывается — проверьте Вашу базу 1С с помощью утилиты chdbfl.exe.

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

Тестирование и исправление в конфигураторе 1С

Для начала тестирования Вам необходимо открыть конфигуратор 1С. Далее в главном меню программы находим Администрирование => «Тестирование и исправление…»: 

После этого для Вас откроется предупреждение:

Если Вы уже создали резервную копию — жмем «Продолжить». Для Вас откроется окно настройки параметров тестирования и исправления информационной базы:

Рассмотрим проверки и режимы, которые предлагаются в ходе выполнения тестирования:

  • Реиндексация таблиц информационной базы. В этом режиме система заново сформирует все индексы в информационной базе. Индексы используются для ускоренного поиска данных в Вашей базе 1С.
  • Проверка логической целостности информационной базы. В ходе проверки будут исправлены логические ошибки в таблицах базы данных.
  • Проверка ссылочной целостности информационной базы. В этом режиме будут проверены все таблицы информационной базы на предмет наличия «битых» ссылок. Эти ссылки, в зависимости от настройки тестирования, будут либо удалены, либо по ним созданы новые объекты.
  • Пересчет итогов. В процессе тестирования будет выполнен полный пересчет итогов, используемых, к примеру, в бухгалтерских отчетах.
  • Сжатие таблиц информационной базы. Этот режим позволяет оптимизировать Вашу базу 1С и повысить скорость работы.
  • Реструктуризация таблиц информационной базы. В процессе тестирования и исправления выполняется перенос таблиц данных в новые, аналогичные предыдущим. Этот режим позволяет исключить ошибки при работе со старыми таблицами в базе данных.

Рассмотрим остальные настройки:

  • При наличии ссылок на несуществующие объекты — установите «Очищать ссылки».
  • При частичной потере данных объектов: установите «Не изменять».

После установки всех настроек нажмите «Выполнить» и ожидайте завершения проверки (время выполнения проверки зависит от размера Вашей базы).

Когда выполнение проверки будет завершено — Вам будет показан отчет в Виде текстовых сообщений:

Тестирование и исправление с помощью утилиты chdbfl.exe.

Данный режим проверки подходит только для файлового варианта информационной базы. Для выполнения проверки Вам необходимо найти файл «chdbfl.exe» на Вашем компьютере. Этот файл находится в каталоге «bin» в папке, в которую была установлена программа 1С:

После того, как Вы нашли файл «chdbfl.exe» — запускаем его. Для Вас откроется форма проверки физической целостности файла БД:

После открытия формы Вам необходимо указать имя файла базы данных. Нажимаем на кнопку «…» и выбираем файл базы данных, с которым работает Ваша конфигурация. Файл должен быть с расширением «1CD». 

Как узнать, где находится необходимый Вам файл базы данных? Запустите окно запуска 1С:Предприятие и установите строку на нужной Вам конфигурации. Снизу отобразится путь расположения базы:

По этому пути и будет располагаться файл «1CD»:

После выбора файла БД установите галочку «Исправлять обнаруженные ошибки» и нажмите кнопку «Выполнить». Дождитесь завершения выполнения проверки. Если ошибок не обнаружено, вы увидите такое сообщение:

Таким образом мы рассмотрели два способа проверки целостности Вашей информационной базы. Надеюсь, эта статья будет для Вас полезна и Вы исправите все ошибки в базе 1С.

Наши разработки:

Как сделать тестирование и исправление базы    оглавление    Как ускорить работу в 1С:Бухгалтерия 8.3

2017-12-19T18:13:42+00:00

Если в процессе работы в 1С:Бухгалтерия (8.3 редакция 3.0) возникают странные ошибки или она вообще перестала запускаться — базу нужно чинить.

Запускаем утилиту вручную

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

2. Зайдите в папку, в которую у вас установлена 1С. Обычно это ‘C:Program Files1cv8’. Здесь вы увидите папки в названии которых присутствуют цифры, обозначающие номера версий платформы. Выберите папку с самой старшей версией (в нашем случае 8.3.4.304):

01

3. Внутри этой папки вы найдете папку bin:

02

4. Зайдите в эту папку. Там много файлов. Найдите файл с названием chdbfl:

03

5. Запустите этот файл и перед вами откроется утилита для проверки физической целостности файла базы данных.  Укажите имя файла базы данных, нажав кнопку с тремя точками:

04

6. Чтобы указать это имя зайдите внутрь папки той базы, которая не запускается и выберите там файл ‘1Cv8’:

05

7. Поставьте галку ‘Исправлять обнаруженные ошибки’. Бояться нечего, ведь у нас есть резервная копия. И нажмите кнопку ‘Выполнить’:

06

8. В зависимости от размера базы — проверка и исправление могут занять продолжительное время. Дождитесь окончания, закройте утилиту и запускайте базу — скорее всего она заработает.

07

Если исправление не помогло и стало только хуже — восстановите базу из резервной копии, которую мы сделали на первом этапе, а затем переходите к тестированию и исправлению базы через конфигуратор.

Запускаем утилиту через обновлятор

Для пользователей моего Обновлятора всё ещё проще.

Отметьте нужную базу в списке, а затем из пункта «Ещё» выберите пункт «6.16 Проверка физической целостности файла БД (chdbfl.exe)»:

При этом обновлятор:

  • сам заблокирует базу и выгонит работающих пользователей;
  • сам создаст резервную копию базы;
  • сам запустит утилиту chdbfl.exe и дождётся пока вы выполите в ней все необходимые проверки;
  • сам пустит всех пользователей обратно после того как вы закроете утилиту chdbfl.exe.

При этом, если вам потребуется восстановить (откатить) базу на созданную резервную копию перед тестированием — отметьте базу галкой, а затем из пункта «Ещё» выберите вариант «6.01 Восстановить файл данных базы из zip, 7z, rar»:

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Владимир Милькин

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:

Как сделать тестирование и исправление базы    оглавление    Как ускорить работу в 1С:Бухгалтерия 8.3

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

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

Рассмотрим этот инструмент и как с ним работать. Особенно подробно разберем какие флаги надо ставить в интерфейсе.

Если у вас нет времени читать, можете просто просмотреть наше видео:

Содержание

  • Тестирование и исправление в конфигураторе
  • Какие галочки ставить?
  • Если конфигуратор не открывается: утилита chdbfl.exe

Тестирование и исправление в конфигураторе

Наша команда предоставляет услуги по консультированию, настройке и внедрению 1С.

Связаться с нами можно по телефону +7 499 350 29 00.

Услуги и цены можно увидеть по ссылке.

Будем рады помочь Вам!

Запустим программу в режиме конфигуратор:

вход в конфигуратор 1С

Выбираем из меню Администрирование пункт “Тестирование и исправление”:

ТиИ в меню

Какие галочки ставить?

Существуют различные варианты настройки тестирования, рассмотрим эти галки:

  • Реиндексация таблиц информационной базы — это полное перестроение индексов для таблиц базы данных. Реиндексация повышает скорость работы информационной базы. Процедура длительная, но никогда не будет лишней.
  • Проверка логической целостности информационной базы — проверять логическую и структурную целостность БД, исправляет ошибки в данных;
  • Проверка ссылочной целостности информационной базы — проверка «битых ссылок» в базе данных. Такие ошибки могут возникать при непосредственном удалении объектов системы или сбоях. Существует 3 варианта действий для исправления таких ошибок:
    • Создавать объекты — система создает элементы-заглушки, которые можно потом заполнить необходимой информацией,
    • Очищать ссылки — «битые» ссылки будут очищены,
    • Не изменять — система только покажет вам ошибки.
  • Пересчет итогов. Итоги — таблица предварительно подсчитанных результатов в регистрах накопления, расчета и бухгалтерии. Пересчет итогов, также как реиндексация, никогда не будет вредна и даст плюс в скорости работы программы;
  • Сжатие таблиц информационной базы — при удалении данных 1С не удаляет строки таблиц, а лишь «помечает» их на удаление. Они не видны пользователю, но продолжат находится в БД. Сжатие базы данных удаляет эти данные безвозвратно. Так же такого же эффекта можно достичь выгрузкой и загрузкой файла информационной базы (*.dt);
  • Реструктуризация таблиц информационной базы — долгий процесс, с помощью которого система осуществляет пересоздание таблиц базы. Такая процедура происходит и при внесение изменений в структуру конфигурации.

В нашем примере проставим все галочки как показано на рисунке и нажимаем “Выполнить”:

галочки в тестировании и исправлении

Этап выполнения операции мы можем наблюдать в левом нижнем углу окна конфигуратора 1С. Выявленные ошибки показываются в окне служебных сообщений.

процесс в действии

После окончания тестирования нажимаем “Закрыть”:

Закрыть окно тестирования и исправления

Результат выполнения операций мы можем увидеть в окне служебных сообщений.

Служебные сообщения

Тестирование и исправление закончено.

Если конфигуратор не открывается: утилита chdbfl.exe

Если база повреждена настолько, что вы не можете зайти в конфигуратор, можно воспользоваться утилитой от 1С chdbfl.exe. Утилита устанавливается вместе с платформой 1С и найти ее можно в папке Bin каталога установки:

chdbfl.exe в каталоге 1С

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

Копирование каталога с базой

После того как нажали копировать, нажимаем правой кнопкой на пустом месте окна папки и нажимаем “Вставить”. Копия сделана, запускаем утилиту:

Окно утилиты

Появляется главное окно утилиты. Нам нужно указать имя файла базы данных. Нажимаем на три точки. Открывается окно выбора файла БД. Ищем каталог вашей базы и в нем указываем на файл 1Cv8.1CD. Нажимаем “Открыть”.

Выбор файла БД

Ставим галочку “Исправлять обнаруженные ошибки” и нажимаем “Выполнить”.

Выполнить проверку

Ждем окончания операции. Она может занять продолжительное время, в зависимости от размера базы.

Ошибок не обнаружено

После выполнения, если были исправлены ошибки они отобразятся в окне утилиты. В моем случае ошибок не обнаружено. Нажимаем “Закрыть” и пробуем зайти в программу. Если зайти все же не получается, вам необходимо обратиться к специалисту.

Иногда мне на почту приходят письма, где пользователи пишут, что внедрив план обслуживания базы 1С (MS SQL) вдруг замечают, что в базе ошибки.

Конечно, данная тема также подымается и на курсе: Администратор 1С!

И происходит это, как правило, на этапе проверки целостности базы данных.

date_2015-06-04_1

Проблема вскрывается благодаря плану обслуживания, а конкретно на задаче проверки целостности базы.

Простым языком, проблема с базой есть и ее уже нужно решать!

Иначе в недалеком будущем, база может «сломаться», и работа встанет совсем.

А в лучшем, более оптимистичном варианте, могут наблюдаться «тормоза».

И так быстрый ремонт базы на сервере MS SQL по шагам:

Шаг №0

Обязательно делаем  «Бэкап» перед выполнением любых действий над базой данных.

Шаг №1 (Переводим базу данных в режим «single user»).

И так чтоб перевести базу данных в однопользовательский режим «single user».

Нужно выполнить следующий скрипт на MS SQL.

ALTER DATABASE MY_BASE

SET SINGLE_USER

WITH ROLLBACK IMMEDIATE;

Шаг №2 (Проверка и ремонт базы).

Проверять физическую целостность БД  мы будем, конечно, средствами MS SQL.

Для проверки нужно выполнить следующую команду:

DBCC CHECKDB («имя_базы», REPAIR_REBUILD)

В процессе работы этой команды: DBCC CHECKDB могут быть обнаружены ошибки, но часть их может быть сразу же исправлена. Ведь мы используем параметр «REPAIR_REBUILD».

Если ошибки останутся и после этого, то это будет означать что их нельзя восстановить без потери некоторых данных. В этом случае нужно запустить команду  DBCC CHECKDB с параметром REPAIR_ALLOW_DATA_LOSS 

То есть так:

DBCC CHECKDB («имя базы», REPAIR_ALLOW_DATA_LOSS)

После выполнения команды, обратно возвращаемся в нормальный режим «MULTI_USER» (выходим  из режима «single user»):

Вот скрипт, который выполняем на сервере.

Шаг №3 (MULTI_USER).

ALTER DATABASE MY_BASE

SET MULTI_USER;

Это должно «отремонтировать вашу базу» Но не забываем в самом начале обязательно сделать «бэкап» базы!

Если Вы хотите больше узнать о технической стороне 1С, тогда регистрируйтесь на первый бесплатный модуль курса: Администратор 1С >>>

Во время работы с программой 1С могут возникнуть ошибки или сбои в работе с программой. В этом случае необходимо выполнить тестирование и исправление информационной базы. Но бывают ситуации, когда в результате сбоя даже Конфигуратор не открывается. В этом случае, если база файловая, нам поможет встроенная утилита chdbfl.exe, осуществляющая проверку физической целостности базы данных. Рассмотрим где скачать и как пользоваться данной утилитой в 1С 8.3.

Содержание

  • Где скачать утилиту chdbfl.exe
  • Исправление ошибок с помощью утилиты chdbfl.exe
  • Chdbfl.exe для SQL

Перед любыми действиями с информационной базой 1С 8.3 рекомендуется сделать ее резервную копию.

Утилиту chdbfl.exe не нужно нигде скачивать. Если вы попробуете скачать файл из интернета, то он может оказаться вирусным и может навредить программе 1С еще больше.

Файл утилиты chdbfl.exe находится в папке с установленной платформой программы 1С — в папке bin. Папка с программой находится на диске С: в папке Program Files. В нашем примере — диск С:/Program Files(х86)/1cv8/8.3.13.1513/bin. Где 8.3.13.1513 — это номер релиза установленной платформы 1С.

Исправление ошибок с помощью утилиты chdbfl.exe

Запускаем утилиту, в поле Имя файла БД выбираем файл информационной базы, которую надо проверить и устанавливаем галочку Исправлять обнаруженные ошибки. Если галочку не установить, то будет произведена только проверка, без исправления ошибок.

Файл 1Cv8 — файл базы данных (*.1CD), будет находиться в папке нашей установленной информационной базы.

Чтобы узнать месторасположение нашей информационной базы, в окне запуска 1С выделим ее название и внизу будет указан путь к ней.

Выбираем файл 1Cv8 и нажимаем кнопку Открыть.

Далее нажимаем кнопку Выполнить и ждем результата проверки.

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

После окончания проверки можно провести Тестирование и исправление информационной базы через Конфигуратор.

Chdbfl.exe для SQL

Как говорилось выше, данная утилита предназначена для работы с файловыми базами данных, т.е. для работы с базами SQL она не подходит. В таком случае, как вариант выхода из ситуации, можно выгрузить данные информационной базы в архив, загрузив их на локальный компьютер и полученный файл 1Cv8.1CD протестировать утилитой chdbfl.exe. Или же воспользоваться другими средствами тестирования и исправления ошибок.

См. также:

  • Как сделать копию базы 1С 8.3
  • 1С оптимизация: что делать, если программа тормозит
  • Обновление 1С: как обновить конфигурацию самостоятельно
  • Горячие клавиши в 1С
  • Тестирование и исправление базы 1С 8.3: какие галочки ставить
  • Как удалить помеченные на удаление документы в 1С 8.3

Если Вы еще не являетесь подписчиком системы БухЭксперт8:

Активировать демо-доступ бесплатно →

или

Оформить подписку на Рубрикатор →

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

Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательства

Помогла статья?

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Делимся опытом, как исправить ошибки в логической целостности в базе 1С, размещенной на Microsoft SQL Server.

Поступила жалоба от бухгалтера о проблемах с проведением документов в 1С.

Из скриншота выяснилось, что 1С «ругается» на проблемы с согласованностью «внутри» базы данных и предлагает провести проверку на согласованность.

Переходим в SQL Server Management Studio и, сделав, на всякий случай, бэкап текущего состояния, выполняем проверку:

Для начала переводим нужную нам БД в однопользовательский режим

Запускаем Окно запросов (CTRL+N). Выбираем Новый запрос и вводим запрос Transact-SQL (T-SQL) в этом окне:

	 ALTER DATABASE KA
	 SET SINGLE_USER
	 WITH ROLLBACK IMMEDIATE

Далее, вводим запрос на сканирование базы данных:

	 USE [ka]
	 GO
	 DBCC CHECKDB(N'ka') WITH NO_INFOMSGS
	 GO

Проверка продлилась около 15 минут, после чего выдала следующее:

CHECKDB обнаружил 0 ошибок размещения и 766 ошибок согласованности, не связанных ни с одним объектом.

CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности в таблице «sys.sysdbfiles» (идентификатор объекта 20).


CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности в таблице «sys.sysxmlcomponent» (идентификатор объекта 91).


CHECKDB обнаружил 0 ошибок размещения и 49 ошибок согласованности в таблице «_AccRg1025» (идентификатор объекта 1778313595).


CHECKDB обнаружил 0 ошибок размещения и 3 ошибок согласованности в таблице «_AccRgAT21046» (идентификатор объекта 1826313766).


CHECKDB обнаружил 0 ошибок размещения и 1783 ошибок согласованности в таблице «_AccRg1051» (идентификатор объекта 1906314051).


CHECKDB обнаружил 0 ошибок размещения и 2603 ошибок согласованности в базе данных «KA».

Вариант решения №1: восстановление из бэкапа выявило накопительный характер ошибки: чем раньше сделан бэкап – тем меньше в базе ошибок, вплоть до самого «дальнего» (14 дней). Примерно на третьем бэкапе количество ошибок перестало уменьшаться – стало ясно, что этим путём мы придём только к потере актуальности базы и проблему не решить

Вариант решения №2: В
справочной информации описаны три возможных варианта исправления этих ошибок, рассмотрим каждый:

REPAIR_FAST

Синтаксис поддерживается только для обеспечения обратной совместимости. Действия по восстановлению не выполняются.

REPAIR_REBUILD

Выполняет действия по восстановлению данных, которые можно выполнить без риска их потери. Это может быть быстрое восстановление (например, восстановление отсутствующих строк в некластеризованных индексах) или более ресурсоемкие операции (например, перестроение индекса).

REPAIR_ALLOW_DATA_LOSS

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

Аргумент REPAIR_FAST нам не подходит, REPAIR_ALLOW_DATA_LOSS оставим на крайний случай — пробуем REPAIR_REBUILD:

	 DBCC CHECKDB(N'ka', REPAIR_REBUILD) WITH NO_INFOMSGS

CHECKDB обнаружил 0 ошибок размещения и 766 ошибок согласованности, не связанных ни с одним объектом.

CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности в таблице «sys.sysdbfiles» (идентификатор объекта 20).


CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности в таблице «sys.sysxmlcomponent» (идентификатор объекта 91).


CHECKDB обнаружил 0 ошибок размещения и 49 ошибок согласованности в таблице «_AccRg1025» (идентификатор объекта 1778313595).


CHECKDB обнаружил 0 ошибок размещения и 3 ошибок согласованности в таблице «_AccRgAT21046» (идентификатор объекта 1826313766).


CHECKDB обнаружил 0 ошибок размещения и 1783 ошибок согласованности в таблице «_AccRg1051» (идентификатор объекта 1906314051).


CHECKDB обнаружил 0 ошибок размещения и 2603 ошибок согласованности в базе данных «KA».

Не помогло, переводим базу данных обратно в многопользовательский режим:

	 ALTER DATABASE KA
	 SET MULTI_USER

На всякий случай, я попробовал провести обслуживание базы данных и перепроверил – результат тот же.

Решил провести тестирование и исправление информационной базы средствами 1С, на что получил ошибку

Выгрузить базу данных в *.dt файл тоже не удалось:

Что ж, стало понятно, что часть потерянных данных – меньшее зло, по сравнению с «развалившейся» базой данных, пробуем REPAIR_ALLOW_DATA_LOSS:

	 DBCC CHECKDB (N'KA', REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS

И, наконец, после нескольких прогонов, количество ошибок немного уменьшилось:

CHECKDB обнаружил 0 ошибок размещения и 733 ошибок согласованности, не связанных ни с одним объектом.

CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности в таблице «sys.sysdbfiles» (идентификатор объекта 20).


CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности в таблице «sys.sysxmlcomponent» (идентификатор объекта 91).


CHECKDB обнаружил 0 ошибок размещения и 1783 ошибок согласованности в таблице «_AccRg1051» (идентификатор объекта 1906314051).


CHECKDB обнаружил 0 ошибок размещения и 2518 ошибок согласованности в базе данных «KA «.

Ситуацию это не спасло: база, по-прежнему не выгружалась и не «лечилась» средствами 1С.

Дальнейшие попытки (по очереди несколько раз запускал REPAIR_REBUILD и REPAIR_ALLOW_DATA_LOSS) не увенчались успехом: количество ошибок не уменьшилось, база, по-прежнему, не выгружалась и не «лечилась».

Коллеги подсказали попробовать очистить (именно очистить, без удаления самой таблицы) «проблемную» таблицу в MS SQL.

Больше всего ошибок в таблице «_AccRg1051» – ей и было принято решение заняться:

Вводим запрос

	 TRUNCATE TABLE _AccRg1051

И, после успешного выполнения, прогоняем проверку еще раз:

	 DBCC CHECKDB(N'ka') WITH NO_INFOMSGS

15 минут ожидания и, о чудо – все ошибки исчезли, в том числе и в остальных таблицах.

Перевожу базу в многопользовательский режим, выгружаю в *.dt файл и загружаю обратно.

Звоню бухгалтеру – прошу проверить проблемные документы: всё работает нормально. Пускаю остальных пользователей в базу.

Через час снова ошибка:

Делаем вывод, что выгрузка в *.dt – не панацея. Выгоняем Вежливо просим пользователей выйти и ещё немного потерпеть и тестируем базу с исправлением ошибок в режиме конфигуратора 1С со следующими параметрами

Видим, что всё ОК

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

Как сделать тестирование и исправление базы    оглавление    Как ускорить работу в 1С:Бухгалтерия 8.3

2017-12-19T18:13:42+00:00

Если в процессе работы в 1С:Бухгалтерия (8.3 редакция 3.0) возникают странные ошибки или она вообще перестала запускаться — базу нужно чинить.

Запускаем утилиту вручную

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

2. Зайдите в папку, в которую у вас установлена 1С. Обычно это ‘C:Program Files1cv8’. Здесь вы увидите папки в названии которых присутствуют цифры, обозначающие номера версий платформы. Выберите папку с самой старшей версией (в нашем случае 8.3.4.304):

01

3. Внутри этой папки вы найдете папку bin:

02

4. Зайдите в эту папку. Там много файлов. Найдите файл с названием chdbfl:

03

5. Запустите этот файл и перед вами откроется утилита для проверки физической целостности файла базы данных.  Укажите имя файла базы данных, нажав кнопку с тремя точками:

04

6. Чтобы указать это имя зайдите внутрь папки той базы, которая не запускается и выберите там файл ‘1Cv8’:

05

7. Поставьте галку ‘Исправлять обнаруженные ошибки’. Бояться нечего, ведь у нас есть резервная копия. И нажмите кнопку ‘Выполнить’:

06

8. В зависимости от размера базы — проверка и исправление могут занять продолжительное время. Дождитесь окончания, закройте утилиту и запускайте базу — скорее всего она заработает.

07

Если исправление не помогло и стало только хуже — восстановите базу из резервной копии, которую мы сделали на первом этапе, а затем переходите к тестированию и исправлению базы через конфигуратор.

Запускаем утилиту через обновлятор

Для пользователей моего Обновлятора всё ещё проще.

Отметьте нужную базу в списке, а затем из пункта «Ещё» выберите пункт «6.16 Проверка физической целостности файла БД (chdbfl.exe)»:

При этом обновлятор:

  • сам заблокирует базу и выгонит работающих пользователей;
  • сам создаст резервную копию базы;
  • сам запустит утилиту chdbfl.exe и дождётся пока вы выполите в ней все необходимые проверки;
  • сам пустит всех пользователей обратно после того как вы закроете утилиту chdbfl.exe.

При этом, если вам потребуется восстановить (откатить) базу на созданную резервную копию перед тестированием — отметьте базу галкой, а затем из пункта «Ещё» выберите вариант «6.01 Восстановить файл данных базы из zip, 7z, rar»:

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Владимир Милькин

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:

Как сделать тестирование и исправление базы    оглавление    Как ускорить работу в 1С:Бухгалтерия 8.3

Тестирование и исправление также рекомендуется выполнять перед обновлением конфигурации. Если после возникновения ошибок у Вас есть возможность запустить конфигуратор 1С — выполните проверку с помощью инструментов в конфигураторе. Если же конфигуратор уже не открывается — проверьте Вашу базу 1С с помощью утилиты chdbfl.exe.

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

Тестирование и исправление в конфигураторе 1С

Для начала тестирования Вам необходимо открыть конфигуратор 1С. Далее в главном меню программы находим Администрирование => «Тестирование и исправление…»: 

После этого для Вас откроется предупреждение:

Если Вы уже создали резервную копию — жмем «Продолжить». Для Вас откроется окно настройки параметров тестирования и исправления информационной базы:

Рассмотрим проверки и режимы, которые предлагаются в ходе выполнения тестирования:

  • Реиндексация таблиц информационной базы. В этом режиме система заново сформирует все индексы в информационной базе. Индексы используются для ускоренного поиска данных в Вашей базе 1С.
  • Проверка логической целостности информационной базы. В ходе проверки будут исправлены логические ошибки в таблицах базы данных.
  • Проверка ссылочной целостности информационной базы. В этом режиме будут проверены все таблицы информационной базы на предмет наличия «битых» ссылок. Эти ссылки, в зависимости от настройки тестирования, будут либо удалены, либо по ним созданы новые объекты.
  • Пересчет итогов. В процессе тестирования будет выполнен полный пересчет итогов, используемых, к примеру, в бухгалтерских отчетах.
  • Сжатие таблиц информационной базы. Этот режим позволяет оптимизировать Вашу базу 1С и повысить скорость работы.
  • Реструктуризация таблиц информационной базы. В процессе тестирования и исправления выполняется перенос таблиц данных в новые, аналогичные предыдущим. Этот режим позволяет исключить ошибки при работе со старыми таблицами в базе данных.

Рассмотрим остальные настройки:

  • При наличии ссылок на несуществующие объекты — установите «Очищать ссылки».
  • При частичной потере данных объектов: установите «Не изменять».

После установки всех настроек нажмите «Выполнить» и ожидайте завершения проверки (время выполнения проверки зависит от размера Вашей базы).

Когда выполнение проверки будет завершено — Вам будет показан отчет в Виде текстовых сообщений:

Тестирование и исправление с помощью утилиты chdbfl.exe.

Данный режим проверки подходит только для файлового варианта информационной базы. Для выполнения проверки Вам необходимо найти файл «chdbfl.exe» на Вашем компьютере. Этот файл находится в каталоге «bin» в папке, в которую была установлена программа 1С:

После того, как Вы нашли файл «chdbfl.exe» — запускаем его. Для Вас откроется форма проверки физической целостности файла БД:

После открытия формы Вам необходимо указать имя файла базы данных. Нажимаем на кнопку «…» и выбираем файл базы данных, с которым работает Ваша конфигурация. Файл должен быть с расширением «1CD». 

Как узнать, где находится необходимый Вам файл базы данных? Запустите окно запуска 1С:Предприятие и установите строку на нужной Вам конфигурации. Снизу отобразится путь расположения базы:

По этому пути и будет располагаться файл «1CD»:

После выбора файла БД установите галочку «Исправлять обнаруженные ошибки» и нажмите кнопку «Выполнить». Дождитесь завершения выполнения проверки. Если ошибок не обнаружено, вы увидите такое сообщение:

Таким образом мы рассмотрели два способа проверки целостности Вашей информационной базы. Надеюсь, эта статья будет для Вас полезна и Вы исправите все ошибки в базе 1С.

Наши разработки:

Иногда мне на почту приходят письма, где пользователи пишут, что внедрив план обслуживания базы 1С (MS SQL) вдруг замечают, что в базе ошибки.

Конечно, данная тема также подымается и на курсе: Администратор 1С!

И происходит это, как правило, на этапе проверки целостности базы данных.

date_2015-06-04_1

Проблема вскрывается благодаря плану обслуживания, а конкретно на задаче проверки целостности базы.

Простым языком, проблема с базой есть и ее уже нужно решать!

Иначе в недалеком будущем, база может «сломаться», и работа встанет совсем.

А в лучшем, более оптимистичном варианте, могут наблюдаться «тормоза».

И так быстрый ремонт базы на сервере MS SQL по шагам:

Шаг №0

Обязательно делаем  «Бэкап» перед выполнением любых действий над базой данных.

Шаг №1 (Переводим базу данных в режим “single user”).

И так чтоб перевести базу данных в однопользовательский режим “single user”.

Нужно выполнить следующий скрипт на MS SQL.

ALTER DATABASE MY_BASE

SET SINGLE_USER

WITH ROLLBACK IMMEDIATE;

Шаг №2 (Проверка и ремонт базы).

Проверять физическую целостность БД  мы будем, конечно, средствами MS SQL.

Для проверки нужно выполнить следующую команду:

DBCC CHECKDB («имя_базы», REPAIR_REBUILD)

В процессе работы этой команды: DBCC CHECKDB могут быть обнаружены ошибки, но часть их может быть сразу же исправлена. Ведь мы используем параметр «REPAIR_REBUILD».

Если ошибки останутся и после этого, то это будет означать что их нельзя восстановить без потери некоторых данных. В этом случае нужно запустить команду  DBCC CHECKDB с параметром REPAIR_ALLOW_DATA_LOSS 

То есть так:

DBCC CHECKDB («имя базы», REPAIR_ALLOW_DATA_LOSS)

После выполнения команды, обратно возвращаемся в нормальный режим «MULTI_USER» (выходим  из режима “single user”):

Вот скрипт, который выполняем на сервере.

Шаг №3 (MULTI_USER).

ALTER DATABASE MY_BASE

SET MULTI_USER;

Это должно “отремонтировать вашу базу” Но не забываем в самом начале обязательно сделать «бэкап» базы!

Если Вы хотите больше узнать о технической стороне 1С, тогда регистрируйтесь на первый бесплатный модуль курса: Администратор 1С >>>

Изображение

  • 1с при построении очереди отложенных обработчиков обнаружены ошибки
  • 1с при получении менеджера лицензий слк возникла ошибка
  • 1с при получении информации статистики возникли ошибки
  • 1с при подключении к хранилищу ошибка режима доступа к файлу базы данных
  • 1с при обновлении ошибка расширения