Тестирование и исправление также рекомендуется выполнять перед обновлением конфигурации. Если после возникновения ошибок у Вас есть возможность запустить конфигуратор 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):
3. Внутри этой папки вы найдете папку bin:
4. Зайдите в эту папку. Там много файлов. Найдите файл с названием chdbfl:
5. Запустите этот файл и перед вами откроется утилита для проверки физической целостности файла базы данных. Укажите имя файла базы данных, нажав кнопку с тремя точками:
6. Чтобы указать это имя зайдите внутрь папки той базы, которая не запускается и выберите там файл ‘1Cv8’:
7. Поставьте галку ‘Исправлять обнаруженные ошибки’. Бояться нечего, ведь у нас есть резервная копия. И нажмите кнопку ‘Выполнить’:
8. В зависимости от размера базы — проверка и исправление могут занять продолжительное время. Дождитесь окончания, закройте утилиту и запускайте базу — скорее всего она заработает.
Если исправление не помогло и стало только хуже — восстановите базу из резервной копии, которую мы сделали на первом этапе, а затем переходите к тестированию и исправлению базы через конфигуратор.
Запускаем утилиту через обновлятор
Для пользователей моего Обновлятора всё ещё проще.
Отметьте нужную базу в списке, а затем из пункта «Ещё» выберите пункт «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.
Услуги и цены можно увидеть по ссылке.
Будем рады помочь Вам!
Запустим программу в режиме конфигуратор:
Выбираем из меню Администрирование пункт “Тестирование и исправление”:
Какие галочки ставить?
Существуют различные варианты настройки тестирования, рассмотрим эти галки:
- Реиндексация таблиц информационной базы — это полное перестроение индексов для таблиц базы данных. Реиндексация повышает скорость работы информационной базы. Процедура длительная, но никогда не будет лишней.
- Проверка логической целостности информационной базы — проверять логическую и структурную целостность БД, исправляет ошибки в данных;
- Проверка ссылочной целостности информационной базы — проверка «битых ссылок» в базе данных. Такие ошибки могут возникать при непосредственном удалении объектов системы или сбоях. Существует 3 варианта действий для исправления таких ошибок:
- Создавать объекты — система создает элементы-заглушки, которые можно потом заполнить необходимой информацией,
- Очищать ссылки — «битые» ссылки будут очищены,
- Не изменять — система только покажет вам ошибки.
- Пересчет итогов. Итоги — таблица предварительно подсчитанных результатов в регистрах накопления, расчета и бухгалтерии. Пересчет итогов, также как реиндексация, никогда не будет вредна и даст плюс в скорости работы программы;
- Сжатие таблиц информационной базы — при удалении данных 1С не удаляет строки таблиц, а лишь «помечает» их на удаление. Они не видны пользователю, но продолжат находится в БД. Сжатие базы данных удаляет эти данные безвозвратно. Так же такого же эффекта можно достичь выгрузкой и загрузкой файла информационной базы (*.dt);
- Реструктуризация таблиц информационной базы — долгий процесс, с помощью которого система осуществляет пересоздание таблиц базы. Такая процедура происходит и при внесение изменений в структуру конфигурации.
В нашем примере проставим все галочки как показано на рисунке и нажимаем “Выполнить”:
Этап выполнения операции мы можем наблюдать в левом нижнем углу окна конфигуратора 1С. Выявленные ошибки показываются в окне служебных сообщений.
После окончания тестирования нажимаем “Закрыть”:
Результат выполнения операций мы можем увидеть в окне служебных сообщений.
Тестирование и исправление закончено.
Если конфигуратор не открывается: утилита chdbfl.exe
Если база повреждена настолько, что вы не можете зайти в конфигуратор, можно воспользоваться утилитой от 1С chdbfl.exe. Утилита устанавливается вместе с платформой 1С и найти ее можно в папке Bin каталога установки:
Перед тем как приступить к тестированию вам обязательно нужно сделать копию вашей базы, так как использование этой утилиты может привести к необратимым последствиям. Так как вы не можете зайти в конфигуратор, резервную копию надо делать простым копированием каталога вашей информационной базы.
После того как нажали копировать, нажимаем правой кнопкой на пустом месте окна папки и нажимаем “Вставить”. Копия сделана, запускаем утилиту:
Появляется главное окно утилиты. Нам нужно указать имя файла базы данных. Нажимаем на три точки. Открывается окно выбора файла БД. Ищем каталог вашей базы и в нем указываем на файл 1Cv8.1CD. Нажимаем “Открыть”.
Ставим галочку “Исправлять обнаруженные ошибки” и нажимаем “Выполнить”.
Ждем окончания операции. Она может занять продолжительное время, в зависимости от размера базы.
После выполнения, если были исправлены ошибки они отобразятся в окне утилиты. В моем случае ошибок не обнаружено. Нажимаем “Закрыть” и пробуем зайти в программу. Если зайти все же не получается, вам необходимо обратиться к специалисту.
Иногда мне на почту приходят письма, где пользователи пишут, что внедрив план обслуживания базы 1С (MS SQL) вдруг замечают, что в базе ошибки.
Конечно, данная тема также подымается и на курсе: Администратор 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):
3. Внутри этой папки вы найдете папку bin:
4. Зайдите в эту папку. Там много файлов. Найдите файл с названием chdbfl:
5. Запустите этот файл и перед вами откроется утилита для проверки физической целостности файла базы данных. Укажите имя файла базы данных, нажав кнопку с тремя точками:
6. Чтобы указать это имя зайдите внутрь папки той базы, которая не запускается и выберите там файл ‘1Cv8’:
7. Поставьте галку ‘Исправлять обнаруженные ошибки’. Бояться нечего, ведь у нас есть резервная копия. И нажмите кнопку ‘Выполнить’:
8. В зависимости от размера базы — проверка и исправление могут занять продолжительное время. Дождитесь окончания, закройте утилиту и запускайте базу — скорее всего она заработает.
Если исправление не помогло и стало только хуже — восстановите базу из резервной копии, которую мы сделали на первом этапе, а затем переходите к тестированию и исправлению базы через конфигуратор.
Запускаем утилиту через обновлятор
Для пользователей моего Обновлятора всё ещё проще.
Отметьте нужную базу в списке, а затем из пункта «Ещё» выберите пункт «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С!
И происходит это, как правило, на этапе проверки целостности базы данных.
Проблема вскрывается благодаря плану обслуживания, а конкретно на задаче проверки целостности базы.
Простым языком, проблема с базой есть и ее уже нужно решать!
Иначе в недалеком будущем, база может «сломаться», и работа встанет совсем.
А в лучшем, более оптимистичном варианте, могут наблюдаться «тормоза».
И так быстрый ремонт базы на сервере 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С >>>