Исправление поврежденной базы SQL

23.10.09

База данных - Инструменты администратора БД

Если базу силой 1С не восстановить

Добрый день, коллеги. На днях столкнулся с поврежденной базой серверной (MS SQL 2005), которая работает со сбоем, и восстановить путем тестирования-исправления невозможно (вылетает ошибка контрольной суммы). При этом база не выгружается в файл - та же ошибка. Путем многих попыток - восстановить базу так и не удавалось, единственное что помогло - восстановить путем тестирования самого SQL. Вот команды:

DBCC CHECKDB ('database', REPAIR_FAST)

DBCC CHECKDB ('
database', REPAIR_REBUILD) 

Если предыдущие две не помогли, тогда уже можно применять третью, но она несет за собою возможную потерю данных, и желательно применять в безнадежном случае уже.

DBCC CHECKDB ('database', REPAIR_ALLOW_DATA_LOSS)

 

Если команда не выполняется из-за не однопользовательского режима, тогда перейти можно по команде

alter database db-name set SINGLE_USER

 

Ясно что перед любыми тестами нужно сделать резервную копию (средствами SQL, если выгрузка не делается.

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

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.

24900 руб.

20.08.2024    74354    377    170    

322

Разработка Инструменты администратора БД Администрирование веб-серверов Администрирование Программист 1C:ERP Платные (руб)

Это специализированное решение для глубокого анализа и мониторинга серверов и баз данных 1С. Продукт позволяет выявлять причины замедлений, блокировок и ошибок, объединяя данные технологического журнала, СУБД и оборудования в единой интерактивной системе.

90000 руб.

13.05.2026    1168    2    0    

4

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

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

17000 руб.

10.11.2023    26260    97    46    

104

Информационная безопасность Инструменты администратора БД Инструментарий разработчика Учет документов Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С 8.5 Розничная и сетевая торговля (FMCG) Платные (руб)

Контроль ввода данных в 1С: проверка заполнения реквизитов, обязательные поля, контроль перед записью и проведением, запрет проведения документа. Позволяет настраивать любые проверки данных в 1С 8.3/8.5 от обязательных полей до сложных условий – без открытия конфигуратора и написания кода. Готовое расширение, которое подключается и работает сразу.

6000 руб.

15.04.2026    2483    6    0    

21

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14640 руб.

29.04.2020    51117    140    162    

95

Файловый обмен (TXT, XML, DBF), FTP Поиск данных Инструменты администратора БД Корректировка данных Системный администратор Программист 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная обработка позволит Вам легко и просто, а главное - быстро, выполнить сравнение данных между ЛЮБЫМИ базами (и РИБ, по правилам конвертаций) по контрольным суммам выбранных объектов баз 1С, работающих на платформах 8.3 и выше. Удобный и понятный интерфейс в виде "мастера". Высокая скорость сравнения достигается за счет специального алгоритма расчета контрольной суммы объекта/записи и сравнения по данным суммам объектов 2х баз через файл. Имеется возможность выбора реквизитов, по которым система будет сравнивать объекты. Сравнение количества записей в движениях документов, возможность сравнивать данные по правилам конвертации и не только! Выбор объектов конфигурации для КАЖДОГО узла в отдельности с индивидуальным отбором для каждого объекта конфигурации, работа с FTP, сохранение или загрузка настроек, сохранение или загрузка результата сравнения, регистрация на обмен объекта и его движений. (Обновление от 12.11.2024, версия 2.2-2.5)

24400 руб.

27.10.2017    46843    32    15    

50
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. anderson 238 26.10.09 11:13 Сейчас в теме
Если будет уместно, то в продолжение этой темы. Suspect Mode базы MS SQL
3. MMF 677 26.10.09 14:25 Сейчас в теме
мощная статья. теперь еще нужна статья про то, как выполнить эти мега-команды, можно назвать "выполнение TSQL для чайников". И продолжить цикл статьей "Как запустить SQL Server Management Studio для полных идиотов"
alk; German; sckif; +3 Ответить
4. Valerich 1639 26.10.09 17:28 Сейчас в теме
(3) не стоит так резко. Ведь не все хорошо знакомы с SQL сервером на уровне именно таких команд. Кому-то может пару часов времени сэкономит на поиск лекарства от такой же проблемы.
Amara; na-soft; Мах; nviharev; Motor24; +5 Ответить
5. halushka 27.10.09 07:37 Сейчас в теме
(3) зря. Хотя бы потому что не у всех стоит SQL SMS. Допустим ее нет ? Много уж чего-то админов клик-only развелось... Плюс однозначно. Проблема описана. Решение тоже.
8. Андроид 219 30.10.09 17:17 Сейчас в теме
(3) Готов в продолжении этой статьи написать для "чайников" с картинками куда и как вставить эти функции....
6. ninch 51 28.10.09 05:39 Сейчас в теме
Все нормально, только как всегда голые команды. А описания нету. Тупо выполните и получите результат.
7. mad_maksim 88 28.10.09 09:51 Сейчас в теме
Если уж браться за такой вопрос, то нужны готовые скрипты. За пять минут можно сделать, а людям приятно будет. Я в свое время команды нашел за 5 минут, а запускал их 30, так как не силен в SQL.
Да, перевод в режим single обязателен, это раз. Вывод из этого режима после работы также обязателен, это два.
9. Атеист33 17.11.09 07:05 Сейчас в теме
Скажу одно : " каждый когда - то начинает с азов и как правило ошибок делают более всего или начинающие (метод проб и ошибок) или же те кто уже "заматерел " - считая что они знают много" много знаний не бывает .

любая работа и поиск решения проблем - это положительный результат .

сам вот не зная в 1С как получить кол- во строк в текстовом файле стал писать код анализируя перевод строки - а мог бы всего - навсего использовать метод " КоличествоСтрок() "

хотя и то и другое оказалось полезным
10. Geqsogen 25.10.11 20:41 Сейчас в теме
Помогло после крушения рэйда и когда поздно заметили пропажу бэкапов. Но сначала надо было собрать еще инфы, чтобы восстановить базу на MSSQL 2005 SP4, которая помечена Suspend.
Пишу коротко по делу - только в такой последовательности удалось все сделать:

Use master
go
sp_configure 'allow updates', 1
go
---Execute---
reconfigure with override
---Execute---
select status from sysdatabases where name = 'DataBaseName'
---Execute---
EXEC sp_resetstatus 'DataBaseName';
ALTER DATABASE DataBaseName SET EMERGENCY
---Execute---
alter database DataBaseName set EMERGENCY, SINGLE_USER
---Execute---
dbcc checkdb ('DataBaseName', REPAIR_ALLOW_DATA_LOSS)
---Execute---
alter database DataBaseName set ONLINE, MULTI_USER
---Execute---
Use master
go
sp_configure 'allow updates', 0
go
---Execute---
reconfigure with override

ПыСы После "dbcc checkdb" ругнулся на то что не может создать лог файл - пришлось создать папку, которую он просил и повторить с этого пункта еще раз (база раньше стояла в другом месте)
11. sergoqwe 23.07.13 15:26 Сейчас в теме
спасибо, помогло, вот только интересует еще одно. в другой статье рекомендуют запускать после этого этот же запрос с параметром REPAIR_REBUILD. На сколько данная рекомендация правильная?
12. Motor24 06.08.13 16:11 Сейчас в теме
Спасибо - вчера буквально столкнулся. Оказывается связка SQL 2005+1С 7.7 ещё весьма популярна
13. sergoqwe 18.04.14 14:47 Сейчас в теме
еще популярна и 7.7 + DBF
14. kazann 23 28.01.15 10:13 Сейчас в теме
Интересно вследствие чего база переходит в такой режим?
15. sergoqwe 21.07.15 10:13 Сейчас в теме
(14) kazann, как пример очередное отключение питания, при запуске SQL после аварийного завершения
16. Serge_ASB 16.05.16 16:43 Сейчас в теме
Добрый день.
С утра БД (УТ 10.3 на MS SQL 2008R2 под 1С 8.3.7.1845) выдало:
"Ошибка формата потока".
Тестирование SQL средствами показало 0 ошибок.
В конфигуратор 1С не заходит с той же ошибкой.
1С Предприятие тоже не запускается.
Остальные БД на том же SQL сервере не пострадали.
Какие есть еще варианты, чтобы понять, где копать / вытащить документы?

P.S. последний БэкАп был на предыдущий день. С него восстановились.
Хочется понять, что сделать, чтобы подобного не возникало впредь?

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