Исправление поврежденной базы 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, если выгрузка не делается.

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

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

См. также

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

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

24900 руб.

20.08.2024    54265    297    147    

272

SALE! %

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

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

17000 16000 руб.

10.11.2023    22418    83    42    

97

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

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 17.06.2025, версия 1.3

20400 руб.

06.12.2023    19727    71    10    

103

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

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

14400 руб.

29.04.2020    41433    124    152    

85

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

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

12000 руб.

06.02.2017    34801    148    18    

53

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

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    77553    633    45    

92
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. anderson 235 26.10.09 11:13 Сейчас в теме
Если будет уместно, то в продолжение этой темы. Suspect Mode базы MS SQL
2. anderson 235 26.10.09 11:14 Сейчас в теме
3. MMF 677 26.10.09 14:25 Сейчас в теме
мощная статья. теперь еще нужна статья про то, как выполнить эти мега-команды, можно назвать "выполнение TSQL для чайников". И продолжить цикл статьей "Как запустить SQL Server Management Studio для полных идиотов"
alk; German; sckif; +3 Ответить
4. Valerich 1637 26.10.09 17:28 Сейчас в теме
(3) не стоит так резко. Ведь не все хорошо знакомы с SQL сервером на уровне именно таких команд. Кому-то может пару часов времени сэкономит на поиск лекарства от такой же проблемы.
Amara; ipx; Мах; 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. последний БэкАп был на предыдущий день. С него восстановились.
Хочется понять, что сделать, чтобы подобного не возникало впредь?

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