Имя: Пароль:
1C
1C 7.7
v7: Беда с 7.7 sql
0 vtsaparov
 
19.02.13
09:17
Всем привет. Пришла ко мне беда. Есть база, 7.7 Предприятие, сильно переписанное. Крутится все на w2003 r2 sp2, sql2000 sp4.
В какой то момент поплыли у меня остатки, решил я сделать тестирование и исправление ИБ (раньше помогало). После начала тестирования конфигуратор начинает выпадать с ошибкой Нарушена структура таблицы sc5654 (это товарная номенклатура). При этом база работает без проблем (на считая поехавших остатков). Ежедневная копия делается нормально, но при попытке поднять её я получаю пустую базу (размер копии ~8ГБ). Если на пустой поднятой копии запустить тестирование и исправление то сначала удаляется куча ссылок на несуществующий элемент метаданных, после конфигуратор виснет. Люди, куда копать, подскажите, поддержите!? С работающей базой боюсь что либо делать, даже детач/атач, что б сделать работающую копию.
1 skillhoster
 
19.02.13
09:21
попробуй сделать администрирование - выгрузить данные, а затем администрирование - загрузить данные. в 80% таких случаев - помогает.
2 KUBIK
 
19.02.13
09:23
Вообще-то, если поплыли остатки - то это к регистрам.
А у тя справочник.
Видимо беда похлеще
3 vtsaparov
 
19.02.13
09:25
(1) Сейчас попробую, отпишу.
(2) Да, поплывший остаток лишь навел на проблему.
4 yra77
 
19.02.13
09:28
У Вас не беда, а прекрасная возможность изучить внутреннюю структуру баз 1с. Вычистите чебурашки из этой таблицы и будет счастье.
5 Mikeware
 
19.02.13
09:29
во-первых, сгенери новый словарь (можно даже на пустой копии)
во-вторых, сравни структуру этой таблички в словаре и в рабочей базе
в третьих, найди отличия и выясни их причину
а уж после этого можно и всякие манипуляции с базой проводить, типа ТиИ...
а итоги на сиквельных базах пересчитывать можно и без ТиИ, в онлайне...
6 vde69
 
19.02.13
09:33
1. отложи самый старый бекап какой есть в сторонку
2. сделай копию md и отложи в сторонку


>>>Нарушена структура таблицы sc5654
возможно это тупо проблема в кривом DDS, пересоздай его на пустой базе и сравни с рабочей.

ка доп варианты - отключи именованые каналы, оставь только тс/ап перегрузи сервак.
7 vtsaparov
 
19.02.13
09:39
(1) База здоровая, выгружается долго, пользователи стонут - буду делать вечером, результат завтра отпишу.
(4) Спасибо за накачку оптимизмом ))) Что посоветуете? Проверить каждое поле 5654 на соответствие структура в DDS? (5) (6) Да, сейчас подниму из DDS пустую базу и посравниваю.
(6) Сдается мне каналы тут не причем, эта база на этом оборудовании трудится исправно уже более 5 лет.

Всем спасибо за неравнодушие )))
8 vde69
 
19.02.13
09:49
9 vtsaparov
 
19.02.13
10:29
(8) Спасибо, изучил.
Пока такой результат - поднял пустую базу из md, сформировал в ней новый словарь и сравнил структуру из нового dds со структурой той же таблицы в рабочей базе. 5 отличий. Значимые, или я просто как то не так сравниваю?
     dds                               sql
F=ROW_ID|Row ID|I|0|0                  int 4 0
F=ISFOLDER|Is Line - Folder|Y|0|0      tinyint 1
F=ISMARK|Object is Marked for|L|0|0    bit 1
F=VERSTAMP|Version stamp|I|0|0         int 4
F=SP5685|(P)ModDate|D|0|0              datetime 8

Вообще конечно надеюсь на выгрузку/загрузку данных.
А вот такой вариант - отконвертить безу назад в дбф и уже в дбф поковыряться?
10 vtsaparov
 
19.02.13
10:48
И еще - не поможет ли мне в этом случае DBCC CHECKDB?
11 ДенисЧ
 
19.02.13
10:50
а вот нефиг обновлять базу подменой MDшника...
12 Mikeware
 
19.02.13
10:53
(9) это точно все?
13 vtsaparov
 
19.02.13
10:56
(11) Фигню говорите, ничего подобного не было.
(12) Сидел с распечаткой dds, построчно сверял с sql. Точно всё.
14 Mikeware
 
19.02.13
11:00
(13) это свежесгенеренный ддс, или из базы?
свежесгеннеренный со старым - отличаются?
15 ЧеловекДуши
 
19.02.13
11:04
(10)Нет, вам не поможет. Но ты запусти, сними груз вины :)
Еще запусти Реиндекс.

USE base_1c
EXEC _1sp_DBReindex
16 ЧеловекДуши
 
19.02.13
11:05
(14)Походу да, но Автор тупо пишет, что не подменяли МД. :)
17 ЧеловекДуши
 
19.02.13
11:07
+ А предположить, что МД мог быть восстановлен из старого бекапа Админами, он не может.
И так же Бекап самой БД на SQL был поднять, когда то админом. Тоже имеет место.

(0)Единственное не понял, сколько весит БД на SQL?
18 ЧеловекДуши
 
19.02.13
11:08
+ Каким образом Автор делает копию БД?
Случаем не Выгрузка загрузка? (это тупо) :)
19 vtsaparov
 
19.02.13
11:11
(14) Свежий, сгенеренный честой базой. От текущего dds из рабочей базы ничем не отличается.
(15) Реиндекс вечерком, спасибо!
(16) Да, тупо пишу, что не было такого ))) Ей богу, не мальчик уже по мелочи врать. Да и в данной ситуации лучше честно признаться как было дело. Админом тут последние два года я, за это время с рабочей базой мало что делали. Из бэкапа не поднимали ни разу, не было необходимости.
(17) на данный момент размер mdf - 8.8Гб
(18) Не, не выгрузка/загрузка
BACKUP DATABASE [OKEAN] TO [Complete] WITH  INIT ,  NOUNLOAD ,  NAME = N'OKEAN backup',  NOSKIP ,  STATS = 10,  NOFORMAT
такой бэкап еженочно + бэкап лога ежечасно
20 varelchik
 
19.02.13
17:37
(19) Темните батенька.
Раз кажет что нарушена структура значит так и есть.
Не соответствие МД и Структуры самой базы.
Вариантов чтобы завернуть структуру отличную от МД много.
21 varelchik
 
19.02.13
17:37
Могу даже поделиться одним из вариантов.
22 varelchik
 
19.02.13
17:40
+(20) Как вариант если 1С-ка ломаная скажем тем же usp_26 то тама есть таая галочка, не проверять структуру базы.
Так вот если у вас работает в нормаотном режиме не ругаясь то похоже так оно и есть, а так как конфигуратор выдает сообщение он как раз структуру проверяет!
23 пипец
 
19.02.13
17:49
24 vtsaparov
 
21.02.13
12:51
(20) вот вам крест - не темню )))
А по итогу - выгрузка из рабочей базы и загрузка её в чистую таки прошла нормально, ТиБ в новой базе недостатоков не нашло. Само рассосалось?

Всем спасибо за поддержку и советы.
25 Mikeware
 
21.02.13
13:15
(24) при загрузке сгенерировалась новая структура базы, и новый ддс. которые уж точно друг другу соотвествуют...
26 ЧеловекДуши
 
21.02.13
13:21
(19) >>> (17) на данный момент размер mdf - 8.8Гб

Это же мизер О_о... шот у вас все плохо :)
С таким размером можно методом 1С Выгрузить и загрузить.

В сущности на SQL БД начинать нужно от 6 Гб, т.е. 6 Гб это первые дни работы БД, а дальше все по нарастающей.
27 ЧеловекДуши
 
21.02.13
13:22
(24) Просто вы можете этого не знать :)
Но проверить стоит ;)
28 vtsaparov
 
21.02.13
15:19
(26) Мы обещаем исправится и подрасти! )))
Ну и вопрос - а до 6Гб на дбф базы держать? Я слишком хорошо помню чудовищные переиндексации по паре раз на дню.
29 Mikeware
 
21.02.13
15:21
(28) а вы не выключайте без выхода..
(26) гонишь.
30 vde69
 
21.02.13
15:21
(28) обычно держат, у меня была база когда я ее перевел в скуль она стала 12 гигов.

6 гигов для скуля - это детская база
31 vtsaparov
 
21.02.13
15:23
(30) Но ведь при прочих равных логичнее отдать предпочтение скулю, пусть и база будет детская?
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший