|   |   | 
| 
 | Ошибка в базе MS SQL | ☑ | ||
|---|---|---|---|---|
| 0
    
        basily 16.02.21✎ 07:58 | 
        Невосстановимая ошибка.
 Ошибка при выполнении запроса POST к pecypcy /e1cib/logForm: по причине: Ошибка СУБД: Microsoft SQL Server Native Client 11.0: индекс "_InfoRg27882_1" в таблице "InfoRg27882" имеет 65 имен столбцов в списке ключей. Максимально возможное значение для списка ключевых столбцов индекс равно 16. HRESULT=80040E14, SQLSn: SQLSTATE=42000, state=3, Severity=10, native=1904, line=1 Это регистр сведений "Распределение по территориям и условиям труда" в ЗКГУ 3. Таблица пустая и не используется. Как починить базу? | |||
| 1
    
        ДенисЧ 16.02.21✎ 07:59 | 
        Удалить все индексы, всё равно не используются.     | |||
| 2
    
        Почему 1С 16.02.21✎ 08:02 | 
        Это что кто то  увлекся индексированием реквизитов? Хотелось мне бы увидеть это чудо в 65 индексов     | |||
| 3
    
        ДенисЧ 16.02.21✎ 08:05 | 
        (2) Да просто 65 колонок в измерения впихнуди...     | |||
| 4
    
        basily 16.02.21✎ 08:08 | 
        (1)(2)(3) Я плохо знаю SQL. Штатными средствами не удаляется - та же ошибка и в SQL. В этой таблице всего 10 полей...!     | |||
| 5
    
        Фрэнки 16.02.21✎ 08:12 | 
        (4) База очень большая? Если нет, то :
 Выгрузи ее себе на локальный комп в новый каталог. Выполни нужные обновления. Создай на сервере новую базу. Загрузи туда результат. Увидишь наличие ошибки или ее отсутствие. Возможно, что проблема в ошибках из кэшей. | |||
| 6
    
        rphosts 16.02.21✎ 08:12 | 
        (3) РС с 65 измерениями? Что за жесть!     | |||
| 7
    
        Фрэнки 16.02.21✎ 08:13 | 
        (4) // Штатными средствами не удаляется
 А это какие средства были использованы? | |||
| 8
    
        basily 16.02.21✎ 08:15 | 
        (5) База типовая. В файловом варианте ~12гиг. Не выгружается не из SQL не из конфигуратора. Изменить таблицу в конфигураторе не возможно - та же ошибка.
 На крайний случай рассматриваю выгрузку-загрузку через ВыгрузкаЗагрузкаДанныхXML83.epf. Но это долго, а время дорого! (7) Через консоль SQL. | |||
| 9
    
        basily 16.02.21✎ 08:16 | 
        (6) Ответил в (4).     | |||
| 10
    
        ДенисЧ 16.02.21✎ 08:19 | 
        "Штатными средствами не удаляется"
 "Через консоль SQL" Опять эта вечная дилемма... | |||
| 11
    
        basily 16.02.21✎ 08:23 | 
        (10) Я же написал, что SQL знаю плохо, по этому и обратился.     | |||
| 12
    
        Ёпрст гуру 16.02.21✎ 08:24 | 
        (0) на все измерения/ресурсы/реквизиты индексирование включили ? :)
 Поснимай это в пофигураторе и сохрани | |||
| 13
    
        Ёпрст гуру 16.02.21✎ 08:24 | 
        Можешь и в самом скуле явно удалить индексы.     | |||
| 14
    
        Ёпрст гуру 16.02.21✎ 08:24 | 
        мышой     | |||
| 15
    
        ДенисЧ 16.02.21✎ 08:25 | 
        (11) А зачем тогда в "консоль SQL" полез, раз не знаешь?     | |||
| 16
    
        Ёпрст гуру 16.02.21✎ 08:27 | 
        (4)  >>>В этой таблице всего 10 полей...!- 
 truncate table _InfoRg27882_1 | |||
| 17
    
        ДенисЧ 16.02.21✎ 08:29 | 
        (16) Полей, а не записей )))     | |||
| 18
    
        Фрэнки 16.02.21✎ 08:30 | 
        (8) Т.е. у вас даже бакапов базы нет? Нет тестовой копии? Архивных копий прошлых лет? 
 Это же ЗКГУ - там прошлые года обычно требуют расчетчики, чтоб видеть именно состояния в том виде, как они были актуальны. Если копия есть - затрави на нее ТИИ. На актуальных платформах, соотв. требованиям конфигураций, ТИИ в серверном режиме весьма мощная штука. Но только на копии, чтоб оценить последствия. | |||
| 19
    
        Ёпрст гуру 16.02.21✎ 08:31 | 
        выполни это в скуле.
 Если записи нужны, то тупо переименовываешь табличку в скуле (например в _InfoRg27882_1_old), потом на ней пкм - создать сценарий для таблички - create - новое окно запроса, там меняешь имя на старое (_InfoRg27882_1), выполняешь запрос, создастся новая пустая табличка со старым именем. В 1с-ине в пофигураторе сымаешь нахрен индексирование со всех ресурсов, сохраняешь, далее в скуле делаешь запрос insert into _InfoRg27882_1 select * from _InfoRg27882_1_old усё | |||
| 20
    
        Ёпрст гуру 16.02.21✎ 08:32 | 
        (17) думаешь ? 
 а откуда тогда 65 имён столбцов ? | |||
| 21
    
        basily 16.02.21✎ 08:36 | 
        (14) Мышой не удаляется... та же ошибка.
 (15) Так больше некому. Сисадмин администрирующий SQL знает не больше меня. (18) Бекапы есть и они живые - ТИИ проодит. А на текущей нет. Проблема появилась после сбоя в электроснабжении. (19) Попробую. | |||
| 22
    
        ДенисЧ 16.02.21✎ 08:37 | 
        (20) Так это и есть поля.
 а записи - "Таблица пустая и не используется" | |||
| 23
    
        Ёпрст гуру 16.02.21✎ 08:38 | 
        (22) Врят ли :), мот у него с терминологией туго ?     | |||
| 24
    
        basily 16.02.21✎ 08:38 | 
        (22) (23) Это таблица индексов, а не записей.     | |||
| 25
    
        Ёпрст гуру 16.02.21✎ 08:40 | 
        (24) ;)
 select Count(*) from _InfoRg27882_1 чего возвращает хоть ? | |||
| 26
    
        Ёпрст гуру 16.02.21✎ 08:40 | 
        в пофигураторе, сколько измерений/ресурсов/реквизитов ?     | |||
| 27
    
        Ёпрст гуру 16.02.21✎ 08:40 | 
        у этого РС     | |||
| 28
    
        Галахад гуру 16.02.21✎ 08:43 | 
        Хм. Может уже скриншоты выложить? Чтобы не было недопонимания.     | |||
| 29
    
        basily 16.02.21✎ 08:44 | 
        (26)(27) Измерений - 5, Ресурсов - 5, Реквизитов - 0. Это без стандартных. Сам регистр - ПУСТОЙ!     | |||
| 30
    
        Фрэнки 16.02.21✎ 08:45 | 
        Если копии базы рабочие, тогда просто подменить базу из СУБД на той записи в кластере, которая нужна для всех пользователей и все.
 Сам вопрос с поломкой таблы интересный... наверное... но пользователям нужно где-то в чем-то работать | |||
| 31
    
        Ёпрст гуру 16.02.21✎ 08:46 | 
        (29) ну тогда покажи состав индекса InfoRg27882_1     | |||
| 32
    
        Ёпрст гуру 16.02.21✎ 08:47 | 
        и все столбцы таблички InfoRg27882     | |||
| 33
    
        Ёпрст гуру 16.02.21✎ 08:47 | 
        в скриншоте     | |||
| 34
    
        basily 16.02.21✎ 08:49 | 
        (28)(31) Сейчас нет доступа к базе. Будет через час. Тогда выложу.     | |||
| 35
    
        Михаил Козлов 16.02.21✎ 10:19 | 
        Может вообще РС грохнуть?     | |||
| 36
    
        IVAL 16.02.21✎ 10:54 | 
        Базу на корректность проверяли командой dbcc checkdb?     | |||
| 37
    
        Почему 1С 16.02.21✎ 14:49 | 
        Скриншота так и нет, надеюсь с автором все хорошо     | |||
| 38
    
        basily 17.02.21✎ 16:36 | 
        Извините, за задержку, раньше не мог.
 ( 33)(37)Итак скриншот при попытке открыть состав индекса и попытке удалить индекс: https://yapx.ru/v/LGkce (36) Да. Даже с аргументом REPAIR_ALLOW_DATA_LOSS получаю ошибку: "Сообщение 1904, уровень 16, состояние 3, строка 2 индекс "_InfoRg27882_1" в таблице "_InfoRg27882" имеет 65 имен столбцов в списке ключей. Максимально возможное значение для списка ключевых столбцов индекс равно 16." | |||
| 39
    
        ДенисЧ 17.02.21✎ 16:38 | 
        написать в консоли drop index _InfoRg27882_1 (или как-то так)?     | |||
| 40
    
        basily 17.02.21✎ 16:45 | 
        (39) drop index _InfoRg27882_1 ON _InfoRg27882 GO
 Та же ошибка :( | |||
| 41
    
        Ёпрст гуру 17.02.21✎ 16:47 | 
        (40) переименовать его, тоже не даёт ?     | |||
| 42
    
        basily 17.02.21✎ 16:51 | 
        (41) Что только не пытался сделать с индексом и самой таблицей. Всегда ошибка.     | |||
| 43
    
        Ёпрст гуру 17.02.21✎ 16:51 | 
        А ёпт..он же кластеризованный     | |||
| 44
    
        Ёпрст гуру 17.02.21✎ 16:51 | 
        Саму табличку даёт переименовать хоть ?     | |||
| 45
    
        basily 17.02.21✎ 16:55 | 
        Развернул на другой машине. Результат - ноль.
 (44) Таблицу не удалить, не переименовать, не изменить. В конфигураторе пытался удалить регистр сведений - теряется соединение с базой. | |||
| 46
    
        Ёпрст гуру 17.02.21✎ 17:10 | 
        (45) 
 че пишет ? EXEC sp_rename '_InfoRg27882', '_InfoRg27882_old'; | |||
| 47
    
        basily 17.02.21✎ 17:20 | 
        (46) Ошибка:
 Сообщение 1904, уровень 16, состояние 3, процедура sp_rename, строка 310 индекс "_InfoRg27882_1" в таблице "_InfoRg27882" имеет 65 имен столбцов в списке ключей. Максимально возможное значение для списка ключевых столбцов индекс равно 16. Сообщение 596, уровень 21, состояние 1, строка 0 Не удалось продолжить выполнение, поскольку сеанс находится в состоянии завершения. Сообщение 0, уровень 20, состояние 0, строка 0 При выполнении текущей команды возникла серьезная ошибка.. При наличии результатов они должны быть аннулированы. | |||
| 48
    
        H A D G E H O G s 17.02.21✎ 17:25 | 
        Какая то фантастика.     | |||
| 49
    
        basily 17.02.21✎ 17:33 | 
        (48) К сожалению реальность.. :(
 Думаю создать пустую базу средствами 1С и найти скрипт на sql, который перенесёт данные в пустую базу кроме битой таблицы. | |||
| 50
    
        Ёпрст гуру 17.02.21✎ 17:58 | 
        (49) для этого в 1с ничего делать не надо
 а так ? ALTER INDEX _InfoRg27882_1 ON _InfoRg27882 REBUILD или так ALTER INDEX _InfoRg27882_1 ON _InfoRg27882 REORGANIZE WITH (COMPRESS_ALL_ROW_GROUPS = ON) И покажи скриншот таблички _InfoRg27882 с колонками | |||
| 51
    
        basily 17.02.21✎ 21:07 | 
        (50)
 Первое: Сообщение 1904, уровень 16, состояние 3, строка 1 индекс "_InfoRg27882_1" в таблице "_InfoRg27882" имеет 65 имен столбцов в списке ключей. Максимально возможное значение для списка ключевых столбцов индекс равно 16. Второе: Сообщение 155, уровень 15, состояние 1, строка 2 COMPRESS_ALL_ROW_GROUPS не является известным параметром ALTER INDEX. При попытке выбрать строки ошибка как в (47) | |||
| 52
    
        Itmaint 17.02.21✎ 21:56 | 
        (3) это не 65 полей. Это поле составного типа, причем есть ощущение, что один из типов - строка.
 Платформа так строит индексы. | |||
| 53
    
        Itmaint 17.02.21✎ 21:58 | 
        (52) не прав. фигнбю сморозил. 
 плохо прочитал... аннулирую (52) | |||
| 54
    
        Ёпрст гуру 17.02.21✎ 21:59 | 
        (51) ну, хотя бы скриншот таблички регистра есть ?     | |||
| 55
    
        arsik гуру 17.02.21✎ 22:14 | 
        (51) Сами индексы в менеджмент студио дает открыть? Может там поля удалить?     | |||
| 56
    
        basily 18.02.21✎ 07:56 | 
        (54) В 1С при попытке открыть регистр база вылетает.
 (55) Если бы давал открыть поудалял бы раньше. Пишет ошибку. | |||
| 57
    
        Йохохо 18.02.21✎ 08:12 | 
        (56) версию мс скл пробовали поднять?     | |||
| 58
    
        basily 18.02.21✎ 08:30 | 
        (57) Работаю на последней версии MS SQL Server 2012 sp3. На других не пробовал.     | |||
| 59
    
        Йохохо 18.02.21✎ 08:42 | 
        (58) попробуйте девелоперс эдишен 2016 и старше, хотя 65 и для них много     | |||
| 60
    
        Ёпрст гуру 18.02.21✎ 08:52 | 
        (56) да не в 1с, а в скуле     | |||
| 61
    
        basily 18.02.21✎ 09:04 | 
        В общем решил проблему средствами SQL через выгрузку и создание новой базы без этой таблицы. Правой мышой по базе - Задачи - Экспортировать данные... Открывается мастер экспорта. Метод нашёл здесь: http://catalog.mista.ru/1c/articles/1106210/. Благо база не большая и всё прошло относительно быстро.
 Всем спасибо за участие! | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |