|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
Друзья, у нас всё стабильно: "Вчера работало, сегодня уже не работает". Утро началось с того, что 1с выдала ошибку: SQL Server обнаружил логическую ошибку ввода-вывода, связанную с согласованностью: неверная контрольная сумма (ожидаемая 0x207589f9; фактическая: 0x21f589f9). Она произошла при прочитать страницы: (1:25392) в базе данных с идентификатором 5 по смещению: 0x0000000c66000 файла: c:\skladsql\skladsql.mdf Ну, и давай я её чекать: DBCC CHECKDB ('skladsql', REPAIR_REBUILD) Результата это особо не принесло, но при подключении через 1с, теперь появился доступ в конфигуратор, хотя толку нет совершенно... бэкап базы в файл слить не даёт... SQL версии 2005 установлен, система Windows XP И самое главное: Бэкапов нет... я эту базу из файловой в скулы перетащил только месяц назад, и ещё не добрался до бэкапоффф... Да мой косяк, признаю... если удастся поднят базу, сразу же резервное копирование да каждый день! НО реалии таковы, результаты исполнения команд лечоб: DBCC CHECKDB ('skladsql', REPAIR_FAST) авторСообщение 7985, уровень 16, состояние 2, строка 1 Предварительная проверка системных таблиц: объект с идентификатором 5. Не удалось прочитать страницу (1:25392) и заблокировать ее кратковременной блокировкой типа SH. Инструкция проверки прервана из-за неустранимой ошибки. Результаты DBCC для "skladsql". Сообщение 5233, уровень 16, состояние 98, строка 1 Ошибка таблицы: идентификатор единицы размещения 327680, страница (1:25392). Выполнить тест (IS_OFF (BUF_IOERR, pBUF->bstat)) не удалось. Значения равны 12584969 и -6. CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности, не связанных ни с одним объектом. CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности в базе данных "skladsql". DBCC CHECKDB ('skladsql', REPAIR_REBUILD) авторСообщение 7985, уровень 16, состояние 2, строка 1 Предварительная проверка системных таблиц: объект с идентификатором 5. Не удалось прочитать страницу (1:25392) и заблокировать ее кратковременной блокировкой типа SH. Инструкция проверки прервана из-за неустранимой ошибки. Результаты DBCC для "skladsql". Сообщение 5233, уровень 16, состояние 98, строка 1 Ошибка таблицы: идентификатор единицы размещения 327680, страница (1:25392). Выполнить тест (IS_OFF (BUF_IOERR, pBUF->bstat)) не удалось. Значения равны 12584969 и -6. CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности, не связанных ни с одним объектом. CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности в базе данных "skladsql". DBCC CHECKDB ('skladsql', REPAIR_ALLOW_DATA_LOSS) авторСообщение 7985, уровень 16, состояние 2, строка 1 Предварительная проверка системных таблиц: объект с идентификатором 5. Не удалось прочитать страницу (1:25392) и заблокировать ее кратковременной блокировкой типа SH. Инструкция проверки прервана из-за неустранимой ошибки. Результаты DBCC для "skladsql". Сообщение 5233, уровень 16, состояние 98, строка 1 Ошибка таблицы: идентификатор единицы размещения 327680, страница (1:25392). Выполнить тест (IS_OFF (BUF_IOERR, pBUF->bstat)) не удалось. Значения равны 12584969 и -6. CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности, не связанных ни с одним объектом. CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности в базе данных "skladsql". DBCC checkdb('skladsql') ALTER DATABASE skladsql SET SINGLE_USER WITH ROLLBACK IMMEDIATE авторСообщение 7985, уровень 16, состояние 2, строка 1 Предварительная проверка системных таблиц: объект с идентификатором 5. Не удалось прочитать страницу (1:25392) и заблокировать ее кратковременной блокировкой типа SH. Инструкция проверки прервана из-за неустранимой ошибки. Результаты DBCC для "skladsql". Сообщение 5233, уровень 16, состояние 98, строка 1 Ошибка таблицы: идентификатор единицы размещения 327680, страница (1:25392). Выполнить тест (IS_OFF (BUF_IOERR, pBUF->bstat)) не удалось. Значения равны 12584969 и -6. CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности, не связанных ни с одним объектом. CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности в базе данных "skladsql". DBCC CHECKALLOC ('skladsql') авторСообщение 5233, уровень 16, состояние 98, строка 1 Ошибка таблицы: идентификатор единицы размещения 327680, страница (1:25392). Выполнить тест (IS_OFF (BUF_IOERR, pBUF->bstat)) не удалось. Значения равны 12584969 и -6. Сообщение 7985, уровень 16, состояние 2, строка 1 Предварительная проверка системных таблиц: объект с идентификатором 5. Не удалось прочитать страницу (1:25392) и заблокировать ее кратковременной блокировкой типа SH. Инструкция проверки прервана из-за неустранимой ошибки. Да друзья, признаю что сам дурак, и из-за меня развалился союз... но тем не менее... Есть ли вариант найти этот злосчастный косяк в базе?... Я честно гуглил, признаюсь.... и 70% людей ссылаются на неисправный ХДД, но я почесав репу подумал: А может быть, ибо компу уже лет 15 примерно, тут всё может быть.... Захожу поглазеть на SMART, а там всё красиво.... Загоняю в VICTORIA, а там всё идеально, диск как с магазина, даже выше 50ms нет задержек и скорость ниже 90mb/s не падает, прям удивительный диск... Отключений электроэнергии не было (хотя до этого очень часто было и ИБП на данной машине отсутствовал, и база рубилась как только могла и в любое время жизни, а ей хоть бы х... и заводилась без проблем), а вчера вот я лично закрыл 1с, и выключил комп, всё гладко-ровно было.... Но вот беда... Друзья помогайте-выручайте... базе исполняется 8 лет, если её потерять, это будет потеря-потерь.. Клянусь на святой клавиатуре, как поднимем базу сразу сделаю свёртку (ибо 6 гигов это не шутки), и настрою бэкапы... Заранее благодарен, о великие гуру SQL ps. Чуть не забыл, сейчас база при подключении 1с и вводе пароля. выдаёт: SQL STATE 25000 Native: 0 Message: [Microsoft][ODBC SQL Server Driver]Недопустимое состояние транзакции жмём ОК SQL STATE 08S01 NATIVE: 0 Message: [Microsoft][ODBC SQL Server Driver] Ошибка связи ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 13:27 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
DimonNT базе исполняется 8 лет, если её потерять, это будет потеря-потерь.. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 14:36 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
alexeyvg DimonNT базе исполняется 8 лет, если её потерять, это будет потеря-потерь.. Я бы и не против, если бы это была какая-нибудь Бухгалтерия с реестром из платежек, РКО, ПКО... Это платформа "Торговля и Склад", тут физически нереально, туча фактур уже разъехалась по покупателям и приходные тоже собрать проблематично... ps. и насчёт "месяц-назад" я слукавил, ибо перевёл базу в SQL в июне месяце этого года, из-за того что DBF настолько выросла, что выдавала ошибку при запуске и не давала записывать в базу ничего (известное ограничении платформы 7.7)... Поэтому и пришлось перетаскивать конфу в SQL.... о чём я уже и пожалел... если всё же получится поднять, сделаю свёртку и в файловую обратно выдерну... ибо как файловая у меня не падала, её получалось поднимать без особых усилий.. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 14:52 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
DimonNT, можно вылить структуру базы и таблицы в другую БД, используя консольную bcp можно посмотреть что за страница и к какому объекту относится dbcc page - IndexId & ObjectId похоже, что за этим "проверка системных таблиц: объект с идентификатором 5." скрывается sys.sysrowsets а что выдаст DBCC CHECKCATALOG ? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 15:06 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
komrad DimonNT, а что выдаст DBCC CHECKCATALOG ? Сообщение 5233, уровень 16, состояние 98, строка 1 Ошибка таблицы: идентификатор единицы размещения 327680, страница (1:25392). Выполнить тест (IS_OFF (BUF_IOERR, pBUF->bstat)) не удалось. Значения равны 12716297 и -6. Сообщение 7985, уровень 16, состояние 2, строка 1 Предварительная проверка системных таблиц: объект с идентификатором 5. Не удалось прочитать страницу (1:25392) и заблокировать ее кратковременной блокировкой типа SH. Инструкция проверки прервана из-за неустранимой ошибки. Я так понимаю тоже самое и выдаёт.... Я по таблицам побегал, вроде бы данные из базы примерно все на месте... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 15:22 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
DimonNT, Я так понимаю, 1с - 7.7 и сама база открывается? Тогда проще скопировать данные в новую чистую базу 1 создать новый каталог 2 скопировать из старого каталога иб файлы 1cv7.md и 1cv7.dds 3 создать на той же СУБД новую базу 4 завести в 1С новую ИБ с новым каталогом (шаг 1) и новой пустой базой (шаг 3) 5 добавить новую константу и сохранить, чтобы вызвать реструктуризацию - тогда 1с в новой базе создаст пустые таблицы с теми же именами, что и в битой базе 6 скриптами или bcp перетащить потаблично данные из старой базы в новую. Где будут ошибки чтения - разбираться по ситуации ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 15:30 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
0wl DimonNT, Я так понимаю, 1с - 7.7 и сама база открывается? Ну платформа 7.7, но на уровне авторизации выдаёт ошибку подключения, в конфигураторе даёт потыкать, но особо там ничего не сделаешь, выгрузку не даёт сделать, опять таже ошибка подключения (в шапке чуть подробнее) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 15:32 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
DimonNT, "база открывается" - я имел в виду, на уровне СУБД, т.е., например, из Management Studio ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 15:40 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
0wl DimonNT, "база открывается" - я имел в виду, на уровне СУБД, т.е., например, из Management Studio Ну впринципе да... но bcp похоже обламывает меня, либо надо ранние версии рыть, на ХР уже ни ХРена не работает.... как назло ещё на этой неделе планировал Win 7 накатывать на эту машину... походу планы не сбыточны :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 15:44 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
DimonNT но bcp похоже обламывает меня, либо надо ранние версии рыть, на ХР уже ни ХРена не работает что значит обламывает? какая ошибка выдается? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 16:54 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
komrad DimonNT но bcp похоже обламывает меня, либо надо ранние версии рыть, на ХР уже ни ХРена не работает что значит обламывает? какая ошибка выдается? Требует драйвер SQL Server 2017, а он на ХР не устанавливается ибо не поддерживается система ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 17:04 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
0wl DimonNT, Я так понимаю, 1с - 7.7 и сама база открывается? Тогда проще скопировать данные в новую чистую базу 1 создать новый каталог 2 скопировать из старого каталога иб файлы 1cv7.md и 1cv7.dds 3 создать на той же СУБД новую базу 4 завести в 1С новую ИБ с новым каталогом (шаг 1) и новой пустой базой (шаг 3) 5 добавить новую константу и сохранить, чтобы вызвать реструктуризацию - тогда 1с в новой базе создаст пустые таблицы с теми же именами, что и в битой базе 6 скриптами или bcp перетащить потаблично данные из старой базы в новую. Где будут ошибки чтения - разбираться по ситуации Такс, я приготовился к этой процедуре: -1 - Скачал чистую конфу 0 - Установил 1 - Создал каталог и закинул туда конфу 2 - Создать в SQL базу 3 - Выгрузил в SQL чистую конфу 4 - Дёрнул из старой конфы 1cv7.md и 1cv7.dds, и заменил их в новой (чистой) Теперь подскажите по моменту: добавить новую константу и сохранить, чтобы вызвать реструктуризацию - тогда 1с в новой базе создаст пустые таблицы с теми же именами, что и в битой базе ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 17:11 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
DimonNT, не надо чистую конфу, надо прям по инструкции. "чистая конфа" развернется заново и создаст новые названия таблиц. Часть может совпасть со старыми, часть - нет и придется ловить эти несоответствия. После шага 4 надо зайти в конфигуратор новой базы - и дальше по инструкции. Ну и вообще это потихоньку превращается в историю для другого форума... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 17:15 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
0wl DimonNT, не надо чистую конфу, надо прям по инструкции. "чистая конфа" развернется заново и создаст новые названия таблиц. Часть может совпасть со старыми, часть - нет и придется ловить эти несоответствия. После шага 4 надо зайти в конфигуратор новой базы - и дальше по инструкции. Ну и вообще это потихоньку превращается в историю для другого форума... Нет всё верно по форуму, мне надо поднять базу? Надо.. Да, читать между букв это я умею: Кароче мне тупо надо создать базу в SQL, присоединить её к 1с И опять я упёрся в новую константу... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 17:46 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
DimonNT komrad пропущено... что значит обламывает? какая ошибка выдается? Требует драйвер SQL Server 2017, а он на ХР не устанавливается ибо не поддерживается система поищи по дискам на сервере sqlcmd с 2005 оно должно идти в комплекте ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 17:48 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
0wl, Всё допетрил зачем создавать константу, чтобы платформа поняла что было какое-то изменение и дала возможность создать заново метафайлы и т.д... Осталось дело за малым: 0wl6 - скриптами или bcp перетащить потаблично данные из старой базы в новую. Где будут ошибки чтения - разбираться по ситуации Пошёл в дистрибы добывать BCP..... если не найду придётся курить скрипты.... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 18:05 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
DimonNT, На 4 шаге в конфигураторе будет загружена конфигурация из MD, а в базе будет пустота. Самый простой способ заставить 1С создать структуру таблиц по MD и DDS - вызвать реструктуризацию. Самый простой способ её вызвать - добавить новый объект, например, константу, в саму конфигурацию (в режиме конфигуратора), а затем сохранить изменения. Если 1с будет ругаться на отсутствие администратора - надо будет добавить нового пользователя 1С (в конфигураторе) с правами администратора. Это то, что я навскидку помню. Все это уже относится к особенностям запуска 1С и в тематику форма помещается со скрипом. Ну а дальше, когда пустые таблицы в новой базе будут готовы, можно будет перелить данные из старых таблиц: Код: sql 1. 2.
База 6 Гб, так что можно таблицы целиком лить, не разбивая на части. Синтаксис INSERT тут ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 18:07 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
0wl DimonNT, На 4 шаге в конфигураторе будет загружена конфигурация из MD, а в базе будет пустота. Самый простой способ заставить 1С создать структуру таблиц по MD и DDS - вызвать реструктуризацию. Самый простой способ её вызвать - добавить новый объект, например, константу, в саму конфигурацию (в режиме конфигуратора), а затем сохранить изменения. Если 1с будет ругаться на отсутствие администратора - надо будет добавить нового пользователя 1С (в конфигураторе) с правами администратора. Это то, что я навскидку помню. Ну я так и понял, ибо когда я создал новую контсанту, а потом её удалил, база так и сказала что пересоздаст метаданные и бла-бла-бла.... Я так понял что BCP проще чтоли... Ну если в дистрибах не найду, то буду ручками-ручками копирастить ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 18:11 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
Население, оказывается в каталоге с SQL есть этот: BCP Есть ли где-то доходчиво-разжованное инфо как копировать потаблично? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 18:57 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
DimonNT Население, оказывается в каталоге с SQL есть этот: BCP как неожиданно, правда? кстати, обращение "население" не всегда способствует позитивной обратной реакции DimonNT Есть ли где-то доходчиво-разжованное инфо как копировать потаблично? гугли на тему "bcp how to export import data sql" и выбирай что подходит по степени пожеванности ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 19:05 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
komrad DimonNT Население, оказывается в каталоге с SQL есть этот: BCP как неожиданно, правда? кстати, обращение "население" не всегда способствует позитивной обратной реакции DimonNT Есть ли где-то доходчиво-разжованное инфо как копировать потаблично? гугли на тему "bcp how to export import data sql" и выбирай что подходит по степени пожеванности Чёт покурил темы, по-моему проще скрипт пожевать, чем этот ё.....й BCP 10 лет в SQL не рылся: INSERT INTO [<имя таблицы>] WITH (TABLOCKX) - синтаксис insert into - Вставить в dbo.tablica21 блокировка таблицы на время выполнения операции with (TABLOCKX) SELECT * FROM [<имя старой базы>].dbo.[<имя таблицы>] дай бог памяти: SELECT* FROM - выбрать все значения из... bazadannyh.dbo.tablica21 складываем: INSERT INTO dbo.tablica21 with (TABLOCKX) SELECT * FROM bazadannyh.dbo.tablica21 Я правильно понял?... ps лучше оговорить всё сейчас, ибо вторая попытка будет завтра днём под маты операторов)) Лучше бы сегодня в ночь мне это доделать... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 19:17 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
Спасибо Microsoft что сделали: Мастер импорта\экспорта таблиц На двух таблицах (пока): SC131 SC890 выдал ошибки: https://a.radikal.ru/a26/2010/88/4d67cf97a879.jpg https://b.radikal.ru/b14/2010/76/eff9e05966aa.jpg ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 20:22 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
Друзья, обнаружилась ещё пачка таблиц: _1SCONNECT _1SCONST _1SCRDOC _1SSTREAM DH1731 DH2051 DH2695 DH3504 DH4389 DH9054 DH9125 ну это опять же в процессе.... подскажите, как копировать построчно таблицы? не могла же целиком таблица упасть, по-любому где то в строках повреждение ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 20:50 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
DimonNT ну это опять же в процессе.... подскажите, как копировать построчно таблицы? не могла же целиком таблица упасть, по-любому где то в строках повреждение Неинтересная проблема, что бы её на форуме обсуждать, рассказывать синтаксис insert, слишком простая, она скорее для форума "Работа" Разумнее компании обратиться к специалисту, если для неё потерянные данные представляют какую то ценность. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 21:15 |
|
Помогите поднять базу
|
|||
---|---|---|---|
#18+
alexeyvg, Спасибо за рвение выручить... Пока продолжу некролог: С помощью приложения интегрированного в MS SQL Server Managemet Studio: Мастер импорта и экспорта SQL Server, делаю перенос таблиц, ибо сей "мастер" стопорится и не даёт адекватно продолжить копирование, пришлось практически "руками" выяснять, какая таблица подверглась повреждению, в данном мастере есть замечательная кнопка: Предпросмотр, и так таблица за таблицей я нажимал эту кнопку и на какой таблице возникала ошибка: https://c.radikal.ru/c41/2010/d4/faaa62caa402.jpg там я снимал чекбокс. В итоге найдя все поврежденные таблицы: Список поврежденных таблиц_1SCONNECT _1SCONST _1SCRDOC _1SSTREAM DH1731 DH2051 DH2695 DH3504 DH4389 DH9054 DH9125 DT1611 DT1774 DT2051 DT3614 DT4389 DT5292 DT9054 DT9125 RA2351 RA2964 RA351 RA4314 RA4335 RA438 RA4480 RG2351 RG2964 RG351 RG4314 RG4335 RG438 RG4480 SC131 SC84 SC9246 SC9249 Я скопировал "рабочие" таблицы в новую базу... Но я слишком поздно понял, что: Выгодней было делать постраничное копирование, ибо если СУБД выдаёт диапазон: 1:25392 с идентификатором 5, то логично было бы пропустить этот диапазон и тупо скопировать всё что вне этого диапазона.... Ну, что сделано то сделано... Теперь необходимо понять как опознать этот диапазон и скопировать данные из этого диапазона, и что за данные в нём содержатся.... но это уже история для следующего поста... Если кто-то подскажет как это сделать, буду признателен ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2020, 06:14 |
|
|
start [/forum/topic.php?fid=46&msg=40010690&tid=1685512]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 280ms |
total: | 417ms |
0 / 0 |