Добрый день.
Конфигурация: Windows 2008 x86 + MS SQL Server 2000 sp4 + 1c v7.7
При выполнении прямого запроса (очистка реквизитов прайса) 1с-ка вылетает с ошибкой: State 08S01, native 0, message [Microsoft][ODBC SQL Server Driver]Communication link failure.
Сам прямой запрос:

```1c
    RS = СоздатьОбъект("ODBCRecordset");
    RS.УстБД1С();
    стрЗапроса = "
    |UPDATE
    | $Справочник.Прайсы
    |SET
    | $Справочник.Прайсы.Цена1 = 0,
    | $Справочник.Прайсы.Цена2 = 0,
    | $Справочник.Прайсы.Цена3 = 0,
    | $Справочник.Прайсы.Цена4 = 0,
    | $Справочник.Прайсы.Цена5 = 0,
    | $Справочник.Прайсы.Цена6 = 0,
    | $Справочник.Прайсы.Цена7 = 0,
    | $Справочник.Прайсы.наличие1 = '',
    | $Справочник.Прайсы.наличие2 = '',
    | $Справочник.Прайсы.наличие3 = '',
    | $Справочник.Прайсы.наличие4 = '',
    | $Справочник.Прайсы.наличие5 = '',
    | $Справочник.Прайсы.наличие6 = '',
    | $Справочник.Прайсы.наличие7 = ''
    |FROM
    | $Справочник.Прайсы";
    рез = RS.ВыполнитьИнструкцию(стрЗапроса);
```

Если это же делать стандартными средствами, то все нормально.
---
Попробуйте , вот так :
DBCC CHECKDB ('DataBaseName', REPAIR_ALLOW_DATA_LOSS) , "DataBaseName" - имя базы
---
Communication link failure.что не так в соединение
---
Добрый день!

После системной ошибки "State 08S01, native 0, message [Microsoft][ODBC SQL Server Driver]Communication link failure", появляется сообщение "Невосстановимая ошибка базы данных!" ?
---
Да
---
Попробуйте , вот так :
DBCC CHECKDB ('DataBaseName', REPAIR_ALLOW_DATA_LOSS) , "DataBaseName" - имя базы
---
RS.УстБД1С() вот это выкинь, для начала
---
```1c
    RS = СоздатьОбъект("ODBCRecordset");
    RS.УстБД1С();
```

Это - код из примера в учебнике. Код - рабочий, хотя создать объект Recordset, конечно, можно и другими способами
---
ну и ВыполнитьСкалярный пользуй
---
ёёё..."учебник" был написан еще во времена динозавров, не надо делать УстБД1С, если это запрос к этой базе.
(8) вот так не надо делать, если конечно, базу не жалко
---
При наличии backup и тестовой базы, почему не надо делать ? Религия не позволяет ? )))
---
зачем ? С чего уверенность, что у автора битая база + делать её еще и с флагом потери данных ?
---
Сообщение появляется, прочтите, выше
---
Это сообщение о неверном соединении с бд, база при этом не битая.
И делать восстановление с потерей данной..это уровень.
---
Начнем с того, что это - проверка. И , если делать на тестовой, то это - исключение возможной ошибки..
С комментариями про уровень, думаю, Вам лучше воздержаться, тут таких гуру - как на барбосе блох
---
Проверка делается без флага REPAIR_ALLOW_DATA_LOSS.

Давать вредные советы, это да, уровень.
---
Это Ваше личное горе, следовать советам , или сидеть с опущенной гривой
---
Аргументы закончились ?
---
Почему ? Я дала советы, ждем ответа ТС. Вы же тут обычный зевака, с Вами для чего дискутировать ?
---
Когда аргументы заканчиваются, переходят на личности, ловлю блох и зевака.
---
А что нужно было сделать в первую очередь, написано в (5) и (6).
---
Вы бросьте эту дурную привычку, обсуждать вопросы без ТС. У нас , и без Вас, вся страна - советов.
Вернется ТС, тогда будет понятно , чьи советы он воспринял
---
Всем привет, спасибо за сообщения.

Результат DBCC CHECKDB:
Server: Msg 8928, Level 16, State 1, Line 1
Object ID 445960665, index ID 5: Page (1:44185) could not be processed. See other errors for details.
Server: Msg 8939, Level 16, State 1, Line 1
Table error: Object ID 445960665, index ID 5, page (1:44185). Test (m_freeCnt == freeCnt) failed. Values are 0 and 5.
CHECKDB found 0 allocation errors and 2 consistency errors in table 'SC6084' (object ID 445960665).
SC6084 - это и есть таблица Справочник.Прайсы.

Может её через конфигуратор вообще удалить и заново создать?
---
SC6084
если этот справочник без проблем можно заполнить с нуля - то нефиг его ремонтировать.
в скуле удали эту таблицу и запусти базу в пользовательском режиме обычном, система его сама и создаст...
---
через конфигуратор я бы не стал удалять.
---
Ок, всем спасибо, вопрос закрыт, ещё бы знать, что привело к этому?