Ошибка субд microsoft sql server native client

  • #1

Добрый день всем!
Иногда возникает проблема с подключением к 1c Документооборот 8.3 КОРП. Не понятно после чего база отваливается и у пользователя показывается вот такое сообщение:

Ошибка СУБД:
Microsoft SQL Server Native Client 11.0 Недопустимое имя объекта»#tt1″
HRESULT=80040E37, SQLSrvr:SQLSTATE-42202, state=1, Severity=10, native=208, line=1

dfdfdf.png

Сервер 1с установлен на одном физическом сервере с SQL server 2016. Подскажите как можно диагностировать ошибку и понять из-за чего она случилась?

Последнее редактирование модератором:

Ошибка СУБД: Недопустимое имя объекта «#tt1».

Модератор: Дмитрий Юхтимовский

Ошибка СУБД: Недопустимое имя объекта «#tt1».

День добрый!
Столкнулся с проблемой, после обновления платформы на 8.3.9.1818 (Сервер 1С Предприятия x86-64) при работе базы начала вываливаться ошибка у пользователей:
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 10.0: Недопустимое имя объекта «#tt1».
HRESULT=80040E37, SQLSrvr: SQLSTATE=42S02, state=1, Severity=10, native=208, line=1

Ошибка вываливается не предсказуемо и повторить не получается.
Из рекомендаций что было найдено — чистка кеша, переподключение БД на сервере предприятия, перезапуск службы SQL (для чистки tempdb) сервера было выполнено — ошибка по прежнему повторяется.

Как я понимаю данная болезнь известна не первый год, удалось ли кому найти решение данной проблемы (может стоит откатится на предыдущую версию платформы)?

Заранее спасибо за возможные рекомендации.

AlexStaf
 
Сообщений: 2
Зарегистрирован: 18 окт 2016, 10:55

это ошибка платформа

Сообщение Гилёв Вячеслав » 18 окт 2016, 20:11

это ошибка платформа — надо демонстрировать разработчикам фирмы 1с воспроизведение проблемы

из здравого смысла можно уменьшить вероятность коллизий, перечень в порядке уменьшения эффективности:
1. использовать shared memory как более надежный канал
2. минимизировать время транзакций, не должно быть операций длиннее 20 секунд
3. делать рестарт сервера субд ночью или в периоды минимальной нагруженности (с остановкой сервера 1С и чисткой сеансовых данных)

Гилёв Вячеслав
 
Сообщений: 2726
Зарегистрирован: 11 фев 2013, 15:40
Откуда: Россия, Москва

Re: Ошибка СУБД: Недопустимое имя объекта «#tt1».

Сообщение NisSon » 02 дек 2016, 02:03

Доброго дня.
Вот только на SQL только перетащил 1Ски и столкнулся с той же ошибкой.
Платформа так же 8.3.9.1818 (Сервер 1С Предприятия x86-64)
Удалось ли победить проблему?
Ушла ли ошибка после апгрейда платформы?
Заранее спасибо.

NisSon
 
Сообщений: 1
Зарегистрирован: 02 дек 2016, 01:59

Re: Ошибка СУБД: Недопустимое имя объекта «#tt1».

Сообщение AlexStaf » 02 дек 2016, 17:11

Добрый день!
Мы сделали даунгрейд на версию 8.3.8.2167 — проблема прекратилась.
Переход на более свежую 8.3.9 (следующую после 8.3.9.1818) — не помог.
Как я понял 1С исправит данную ошибку только в 8.3.10

AlexStaf
 
Сообщений: 2
Зарегистрирован: 18 окт 2016, 10:55

Re: Ошибка СУБД: Недопустимое имя объекта «#tt1».

Сообщение srgs » 25 дек 2016, 23:36

Три дня назад наконец-то словил легендарную ошибку #tt1.
Обновился до последней платформы — 8.3.9.2033 (+SQL2016), но все равно периодически проявляется только при работе в конф/базе <<Зарплата и кадры государственного учреждения 3>> при интенсивной работе/запросах. Проверил все настройки (shared memory, ход регламентные заданий для SQL 2016 и пр). Прогнал еще раз вручную оптимизацию индексов с помощью dbForge Index Manager (dbForge использую вместе с SSMS), перезагрузил в ночи сервера (заодно и обновления накатил).
Ошибка осталась, хотя вылезает пореже… Сильно не напрягает, т.к. касается только расчетного отдела и проявляется пару раз в день, но осадочек остается ) Отправил баг-репорт в 1C. Буду ждать платформу 8.3.10
Ошибка описана как исправленная в данной платформе, но это не так:
———————————————————
Прерывание работы сеанса или фонового задания
Код ошибки: 50010160
Код(ы) обращения: CSR-12050 CSR-12078
Статус: Исправлена в выпущенной версии Зарегистрирована: 19.10.2016
Исправлена: «Технологическая платформа», версия 8.3.9.2033
Описание:
В клиент-серверном варианте информационной базы с использованием Microsoft SQL Server, после завершения работы сеанса администратором или после прерывания фонового задания из встроенного языка или интерактивно, могут происходить ошибки
Microsoft SQL Server Native Client 11.0: Invalid object name ‘#tt1’….
….
———————————————————-

srgs
 
Сообщений: 12
Зарегистрирован: 27 ноя 2016, 21:20

Re: Ошибка СУБД: Недопустимое имя объекта «#tt1».

Сообщение Гилёв Вячеслав » 27 дек 2016, 11:26

Разработчикам на это версии платформы хотя бы видео отошлите с воспроизведением

Гилёв Вячеслав
 
Сообщений: 2726
Зарегистрирован: 11 фев 2013, 15:40
Откуда: Россия, Москва

Re: Ошибка СУБД: Недопустимое имя объекта «#tt1».

Сообщение Гилёв Вячеслав » 27 дек 2016, 11:27

еще мы такую ошибку видели после установки софтпоинтовского кластера клиентом

Гилёв Вячеслав
 
Сообщений: 2726
Зарегистрирован: 11 фев 2013, 15:40
Откуда: Россия, Москва

Re: Ошибка СУБД: Недопустимое имя объекта «#tt1».

Сообщение srgs » 30 янв 2017, 20:18

Ошибка неубиенная оказалась — народ уже слегка озверел и постоянно наезжает на 1С-ников —

http://forum.infostart.ru/forum9/topic145945/

, на мисте — лень искать и пр…. Есть два варианта — откатиться на последнюю 8.3.8.2167 или поставить бетку 8.3.9.2170, где вроде исправили:
———————
В клиент-серверном варианте информационной базы при высокой нагрузке, при активном использовании поиска по строке в динамическом списке, пользователи могут получать сообщение об ошибке:
Соединение с сервером баз данных непригодно для использования после разрыва соединения администратором и будет переустановлено.

Microsoft SQL Server Native Client 11.0: The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION.
HRESULT=80004005, SQLSrvr: SQLSTATE=25000, state=1, Severity=10, native=3902, line=1
или
Microsoft SQL Server Native Client 11.0: Cannot find the object «#tt2» because it does not exist or you do not have permissions.
HRESULT=80040E37, SQLSrvr: SQLSTATE=42S02, state=1, Severity=10, native=4701, line=1
———————
Но меня малость настораживает, что речь идет о #tt2, а иногда ведь улетает с #tt1 ) Сколько этих временных таблиц образуется — фиг его знает. Я знаю про 4-ре — #tt1 до #tt4…
Чистка кэша и перезапуск SQL c удалением временных это перегибный вариант решения проблемы, также как и полное отключение регламентных заданий…
Окончательное исправление будет в 8.3.10 и если уж совсем рисковать то можно поставить и бетку 8.3.10.1877, которая появилась 27-го января. На партнерском форуме —

https://partners.v8.1c.ru/forum/message/1563306

отмечают, что типа нашли в чем причина, но исправим только когда выйдет 8.3.10, т.е. в конце февраля. :shock: До конца недели (если не сожрут бухгалтера и финансисты) поставлю обе бетки — 9-ку и 10-ку и гляну под нагрузкой. Если будет отрицательный результат — перегоню всех на 8.3.8… Отпишусь по результатам.

srgs
 
Сообщений: 12
Зарегистрирован: 27 ноя 2016, 21:20

Re: Ошибка СУБД: Недопустимое имя объекта «#tt1».

Сообщение Дмитрий Юхтимовский » 31 янв 2017, 02:30

мы на 8.3.9.2170 заметили серьёзное улучшение в данном вопросе, по сравнению с предыдущими версиями 8.3.9.

Дмитрий Юхтимовский
 
Сообщений: 737
Зарегистрирован: 11 фев 2013, 19:28
Откуда: gilev.ru

Re: Ошибка СУБД: Недопустимое имя объекта «#tt1».

Сообщение srgs » 31 янв 2017, 14:21

Дмитрий Юхтимовский писал(а):мы на 8.3.9.2170 заметили серьёзное улучшение в данном вопросе, по сравнению с предыдущими версиями 8.3.9.

Спасибо за инфу… хорошо… но не хочу резких телодвижений пока, т.к. мне нужно время чтобы проверить помимо #tt ошибок в бетках еще иной функционал, прежде чем переводить на них все свои 200 с копейками клиентских мест и филиалы… Сегодня в ночи на тестовом сервере и подсети разверну и начну смотреть … Судя по снижению скорости выкладываемых обновлений/релизов платформ одинэсники кажись взялись за ум, а то это уже попахивало беспределом — запуск новых фичей без исправления старых косяков… зла не хватает…
UPD…
Сегодня тестил с 2170. Согласен, явно исправили… вылетов на тестовой не было. Тест, конечно кривой, но хоть что-то… Перенес на тестовый сервер копию зарплатной базы, где фиксируется максимальное кол-во вылетов. Сервер — копия основного по софту , разница в железе — объема оперативки (меньше) и кол-ва процов (два вместо 4-х). Тестил на тех операциях, на которых на основной платформе происходили вылеты. Т.е. вылетело на основной базе — тормознулись — сделали такую-же операцию на тестовой — смотрим результат. Совесть не позволила заставить бухов работать с двумя базами — основной и тестовой (копией основной) параллельно — сейчас конец года — завал по работе. Завтра гляну бухучет — но там вылеты раз в час, а то и реже…. Если прокатит, дождусь когда зарелизится официально 2170 и переброшу всех на него.

srgs
 
Сообщений: 12
Зарегистрирован: 27 ноя 2016, 21:20

Re: Ошибка СУБД: Недопустимое имя объекта «#tt1».

Сообщение Гилёв Вячеслав » 02 фев 2017, 11:18

2014 версия без сервиспаков также может быть источников части подобных проблем

Гилёв Вячеслав
 
Сообщений: 2726
Зарегистрирован: 11 фев 2013, 15:40
Откуда: Россия, Москва

Re: Ошибка СУБД: Недопустимое имя объекта «#tt1».

Сообщение srgs » 06 фев 2017, 16:12

С новой платформой 8.3.9.2170 ошибка(ки) #tt(x) ушла(ли). Полет нормальный целый день. Ни одного падения. Главное, чтобы новые ошибки не проявились )

srgs
 
Сообщений: 12
Зарегистрирован: 27 ноя 2016, 21:20



Вернуться в MS SQL Server для целей 1С:Предприятие

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Ошибка при выполнении операции с базой 1С 8: Не удалось выделить новую страницу для базы данных «TEMPDB» из-за нехватки места на диске в файловой группе «DEFAULT».

Описание ошибки:
Ошибка СУБД
Microsoft SQL Server Native Client 11: Не удалось выделить новую страницу для базы данных «TEMPDB» из-за нехватки места на диске в файловой группе «DEFAULT». Создать необходимое пространство, удалив объекты в файловой группе, добавив дополнительные файлы в файловую группу или указав параметр автоматического увеличения размера для существующих файлов в файловой группе.
HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=A, Severity=11, native=1101, line=1

Найденные решения:

Ошибка возникла в процессе выполнения обработки по сбору данных по ценам и остаткам в базе для выгрузки на сайт. Как понятно по тексту ошибки — база клиент-серверная. СУБД — MS SQL.

Нажатие на изображении увеличит его
1С 8 ошибка при выполнении обработки в базе данных, сборе данных, Не удалось выделить новую страницу для базы данных TEMPDB из-за нехватки места на диске в файловой группе DEFAULT

Перед этим была выполнена доработка запроса в части сбора данных по ценам и остаткам в базе для выгрузки на внешний ресурс, а точнее сайт. Запрос уже до доработки выбирал данные в разрезе двух видов цен. После доработки был добавлен сбор данных еще по двум типам цен. Но известно, что примерно по каждому типу цен записей в базе не больше 150 тысяч, значит на 4 вида цен — не больше 600 тысяч строк должны были быть выбраны запросом. И судя, по тексту ошибки, не хватило места для результата выборки. И да, и нет. Четкое понимание проблемы подсказала статья на сайте AskDev.ru: Ошибка SQL-запроса недостаточно места на диске. Пришло понимание, что в доработанном запросе был упущение — не указаны связи для добавленных таблиц выборки по типам цен. Таким образом получилось, что результат стал включать все варианты с учетом двух таблиц, а это уже как минимум 150 * 10(от исходной части запроса) *150 * 103 *150 * 103 (по 150 от двух новых таблиц) — примерно 3375 * 1012 строк результата выборки. Понятно, что не каждый сервер поддержит получение такого результата.

Нажатие на изображении увеличит его
1C 8, ошибка выполнения запроса, ошибка СУБД, Microsoft SQL Server Native Client 11: Не удалось выделить новую страницу для базы данных tempdb из-за нехватки места на диске в файловой группе default

Поэтому необходимо вспомнить при возникновении «ошибки СУБД, Microsoft SQL Server Native Client 11: Не удалось выделить новую страницу для базы данных «TEMPDB» из-за нехватки места на диске в файловой группе «DEFAULT», не было ли перед этим выполнено некорректных доработок в плане сбора данных или обработки массивного объема данных.

В общем случае просто база перезапускается. Если же запуск не происходит и сопровождается такой же ошибкой, то можно проделать следующие действия, которые можно найти среди многих, но которые больше применимы к связке программ 1С и MS SQL, по ссылке AskDev.ru: Ошибка SQL-запроса недостаточно места на диске:

— Перезапустить службу MS SQL Server. Это должно обеспечить воссоздать таблицу tempdb базы данных.
— Выполнить сжатие файла журнала таблицы tempdb. Как выполнить такое сжатие — можно обратившись к англоязычной статье по этой теме на сайте blogs.lessthandot.com-Dealing with the could not allocate new page for database TEMPDB. There are no more pages available in filegroup DEFAULT error message. См. скрин актуальной части статьи по этому вопросу ниже.

Нажатие на изображении увеличит его
1С 8, как исправить, устранить, убрать ошибку СУБД, Microsoft SQL Server Native Client 11, Создать необходимое пространство, удалив объекты в файловой группе, добавив дополнительные файлы в файловую группу или указав параметр автоматического увеличения размера для существующих файлов в файловой группе

Немного справки по таблицу tempdb у СУБД MS SQL в переводе с той же страницы на сайте blogs.lessthandot.com: 

Итак, что вызывает это (ошибку yе удалось выделить новую страницу для базы данных «TEMPDB» из-за нехватки места на диске в файловой группе «DEFAULT»)? Вы можете подумать, что tempdb используется только для временных (#temp или ## temp) таблиц, но это неверно, tempdb используется для многих вещей, а с SQL Server 2005 он используется чаще, чем когда-либо. Вот некоторые вещи, для которых используется tempdb:
— Если вы выполняете какой-либо запрос, и для этого требуется больше памяти, чем доступно в ОЗУ, он также перейдет в tempdb.
— Если у вас есть большие наборы результатов, и вы используете объединения, группировку, внешние объединения, курсоры и т.д.
— Если вы используете временные таблицы
— Незавершенная транзакция, которая не была откатана
— DBCC CHECKDB будет использовать tempdb, чем больше ваша база данных, тем больше места DBCC CHECKDB потребуется от tempdb. Если вы создаете или перестраиваете индексы с параметром SORT_IN_TEMPDB = ON

Получается, что лучше все-таки сократить базу данных «tempdb». Если этого не сделать, то при последующей попытке вызова кода, даже если были внесены правильные корректировки можно получить ошибку:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Журнал транзакций для базы данных «tempdb» заполнен. Чтобы обнаружить причину, по которой место в журнале не может быть повторно использовано, обратитесь к столбцу log_reuse_wait_desc таблицы sys.databases
HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=4, Severity=11, native=9002, line=1

1С 8, ошибка субд, журнал транзакций для базы данных "tempdb" заполнен

Нажатие на изображении увеличит его
1C 8, ошибка СУБД, журнал тразнакций для базы данных tempdb заполнен, обратитесь к столбцу log_reuse_wait_desc таблицы sys.databases

Если открыть таблицу «tempdb» в SQL Server Management Studio, то можно наблюдать временные таблицы, которые занимают все оставшееся свободное пространство на системном жестком диске. Место на диске заканчивается, объем таблицы не очищается и дальнейшая работа может быть невозможна.

Нажатие на изображении увеличит его
1С 8, системная база данных tempdb на MS SQL, временные таблицы

Если обратиться к рекомендациям, описанным выше, то для очистки журнала был выбран вариант перезапуска служб, связанных с MS SQL. Был выполнен последовательный перезапуск (остановка и запуск) служб SQL Server (MSSQLSERVER) и Агент SQL Server (MSSQLSERVER).

Нажатие на изображении увеличит его
1С 8 и СУБД MS SQL, очистка, shrink, шринк временых таблиц, перезапуск служб MSSQLServer

В результате данных операций свободное пространство на системном жестком диске высвободилось. Временные таблицы удалились сами естественным образом. Дальнейшая работа доработанного функционала была восстановлена.

1С 8 и СУБД Microsoft SQL, очитска, шринк, shrink, временных таблиц базы tempdb

P.S.: Так же эта ошибка стала причиной еще другой попутной ошибки. Т.е. тесно связанной. Когда база была закрыта с помощью соответствующей кнопки в окне ошибки, то после этого запустить базу ни в режиме конфигуратора, ни в режиме Предприятия не получалось, запуск 1С 8 сопровождался ошибкой «Ошибка при работе с файлом». Как была устранена ошибка читайте в следующей статье.

1С 8, как исправить, устранить, убрать, ошибку при работе с файлом

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

05-10-2021

Журавлев А.С.
(Сайт azhur-c.ru)

Category:

  • IT
  • Cancel

После перевода базы в SQL у пользователей рандомно выскакивает «Ошибка СУБД. Micosoft SQL Server Native Client: Недопустимое имя объекта «#tt1». Версия предприятия 8.3.9.2033. Рецепт исцеления в последнем абзаце.

Случился переезд бухгалтерской базы из 2.хх в 3.хх. База распухла до безобразия. В файловом режиме работать с файликом на 2Гб не вариант. Для начала, конечно, 1с-ники сказали, что машины в бухгалтерии полное ГЭ, новые нужны. i5 и 16Gb памяти минимум. И мониторы 22″. Тогда все будет лЁтать. Ага, конечно.

Все равно все свелось к переползанию на трех-звенную архитектуру: клиент-сервер преприятия-SQL. Сервер в конторе уже есть. Машины бухгалтеров проапгрейджены. Осталось сервер предприятия поднять и сделать backup боевой базы и restore на сервер предприятия. Справился. Но выскакивает ошибка и интернет-поддержка перестала фурыкать (надо было не забыть дать доступа к интернету для сервера предприятия).

Гугление привело к информации о том что этот «косяк» в коде 1с. Желтые его признали, но когда исправят — не понятно. В более свежих версиях косяк тоже присутствует. Глюка тянется с осени 2016 года. Так что установка обновлений — вообще не вариант. Откатываться на старую версию — 1с-ники встали в позу.

Мои коллеги увидев сообщение о ругани 1с на Native Client сказали — поставь его на СЕРВЕР ПРЕДПРИЯТИЯ. Не поможет, тогда еще и на сервер с SQL.

Идем на MS и ищем Microsoft® SQL Server® 2008 R2 Feature Pack.
Открываем пункт «Инструкции по установке».
Мотаем вниз до Microsoft® SQL Server® 2008 R2 Native Client
Выбираем sqlncli.msi нужного типа.
Ставим.
Забываем про бухгалтеров еще на некоторое время.

UPD. В августе вышел новый релиз платформы 8.3.10.2561. Обновление помогло. Будьте внимательны: на сервер ставим 64bit (иначе в rphost утекает память и все становится грустно), на рабочие станции, вне зависимости от версии Windows, платформу на 32bit. На 64bit платформе у меня перестали стартовать драйвера кассовой техники. Тех.поддержка 1с дословно ответила следующее: 64-разрядная платформа является бета-версией и на ней многие драйвера не работают. Всё становится интереснее и интереснее.

Не могу создать БД SQL ругается на Native Client 10.0 ☑ 0

cheker89

17.02.16

15:59

—————————

Внимание!

—————————

Ошибка создания информационной базы:

Ошибка операции администрирования

Ошибка при выполнении операции с информационной базой

Ошибка СУБД:

Microsoft SQL Server Native Client 10.0: Поставщик TCP: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение.

HRESULT=80004005, HRESULT=80004005, HRESULT=80004005, SQLSrvr: SQLSTATE=08001, state=1, Severity=10, native=10061, line=0

—————————

ОК  

—————————

Вот такая ошиба

помогите разобраться

1

Живой Ископаемый

17.02.16

16:02

с каких пор Гугл и Яндекс уже не теплые и не ламповые?

2

cheker89

18.02.16

10:23

Через яндекс и гугл нашел самое стоящее это ваш форум с подобной темой. больше ни чего найти не удалось конкретного.

3

ДенисЧ

18.02.16

10:32

файрвол?

4

vde69

18.02.16

10:33

варианты

1. антивирус/брандмауер режет

2. не настроен Native Client на скуле, или нстроен на нестандартный порт

5

shuhard

18.02.16

10:44

(2)[Через яндекс и гугл нашел самое стоящее это ваш форум с подобной темой]

прогиб не засчитан (с)

6

cheker89

18.02.16

11:09

Брендмауэр, файрвол и т.д. исключаю. это на локальной машине всё, и на другой с теми же файрволами и антивирусами всё работает. можете пожалуйста подробней про настройку  Native Client на скуле?:

7

vde69

18.02.16

11:13

8

cheker89

18.02.16

16:42

теперь вот такое дерьмо пишет

—————————

Внимание!

—————————

Ошибка создания информационной базы:

Ошибка операции администрирования

Ошибка при выполнении операции с информационной базой

Ошибка СУБД:

Microsoft SQL Server Native Client 10.0: Named Pipes Provider: Could not open a connection to SQL Server [2].

HRESULT=80004005, HRESULT=80004005, HRESULT=80004005, SQLSrvr: SQLSTATE=08001, state=1, Severity=10, native=2, line=0

—————————

ОК  

—————————

9

vde69

18.02.16

19:06

прав мало…

создай вручную пустую базу в скуле и пропиши юзера как овнен базы

10

cheker89

19.02.16

09:49

так я так и делаю(((( Сначала пустую базу, потом в сервере 1с предприятия её добавляю.

11

cheker89

19.02.16

09:54

Всё пацаны, разобрался, почему то мой sql сервак теперь стал называться не DC как был раньше, а DC\SQL_DC вот и всё. а так всё пашет. Всем спасибо.

12

vde69

19.02.16

09:58

у пользователя который будет прописан в сервере 1с должны быть

1. роль паблик

2. права к твоей базе паблик + дбо

кроме того данная ошибка может возникать при кривых данных (но у тебя их нет, ты ведь создаешь пустую базу?)

Понравилась статья? Поделить с друзьями:
  • Ошибка субд memory allocation failure hresult 80004005
  • Ошибка субд cannot allocate memory for output buffer
  • Ошибка субару с0029
  • Ошибка субд interface 0c733a7c 2a1c 11ce ade5 00aa0044773d
  • Ошибка субд database не пригоден для использования postgresql