1с данный вариант программы не может работать с sql базой данных
Официально, платформа 1С:Предприятие 7.7 работает только с MS SQL Server 2000. Но с помощью небольших манипуляций можно организовать стабильную работу и с последней, на момент написания статьи, версий Microsoft SQL Server 2008 R2. Ниже представлена пошаговая настройка связки 1С:Предприятие 7.7 + MS SQL Server 2008 R2 + Microsoft Windows Server 2008 R2 (Справедливо и для других операционных систем семейства Windows). Итак:
0. Оглавление
1. Установка Windows Server 2008 R2
В качестве серверной ОС используем Microsoft Windows Server 2008 R2. Об установке этой системы подробно можно прочитать в статье «Установка Windows Server 2008 R2».
2. Установка SQL Server 2008 R2
Далее устанавливаем Microsoft SQL Server 2008 R2. Во время установки выбираем:
Очень подробно об установке SQL Server я писал в статье «Установка Microsoft SQL Server 2008 R2».
3. Создание новой базы данных в SQL Server 2008 R2
Добавляем нового пользователя в SQL Server 2008 R2. Обязательно даем ему роль processadmin, иначе будем натыкаться на ошибку:
Затем создаем новую базу данных, указав:
4. Настройка Windows Server 2008 R2
Теперь необходимо заменить оригинальные фалы odbcbcp.dll, sqlsrv32.dll и sqlsrv32.rll (скачать все файлы одним архивом) в каталогах C:\Windows\System32 и в C:\Windows\SysWOW64 файлами из каталога C:\Windows\System32 под управлением Windows Server 2003 (в архиве).
Чтобы сделать это необходимо стать владельцем этих файлов и получить права на их редактирование . Для этого заходим в C:\Windows\System32 находим файл odbcbcp.dll, кликаем по нему правой кнопкой, выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность», нажимаем «Дополнительно».
5. Установка 1С:Предприятие 7.7
Теперь необходимо установить 1С:Предприятие 7.7, ставим версию для SQL. Об особенностях установки читайте в статье «Установка системы 1С:Предприятие 7.7 в Windows x64».
6. Патч и замена файла BkEnd.dll
- «Требуется MS SQL Server 6.5 + Service Pack 5a или более старшая версия!»
- «Порядок сортировки, установленный для базы, отличается от системного!»
- «Неправильный синтаксис около ключевого слова «TRANSACTION»
- «База данных не может быть открыта в однопользовательском режиме»
7. Создание представления sksprocesses в MS SQL Server
Теперь в окне слева напишем текст представления:
После того, как код изменится, сохраним представление, назвав его sksprocesses.
Теперь отмечаем разрешения для guest:
- Вставка
- Выборка
- Изменение
- Назначение владельцем
- Обновление
- Просмотр определения
На этом создание представления завершено.
8. Добавление информационной базы в 1С:Предприятие 7.7
После этого этапа уже можно работать в 1С под текущим пользователем Windows.
9. Настройка безопасности для всех пользователей
Смотрите также:
В данной статье я подробно опишу процесс установки Microsoft SQL Server 2008 R2 в Windows Server 2008 R2 (для других ОС семейства Windows процесс аналогичен). Во время установки будут выбраны…
Здесь будет рассказано как изменить политику паролей в Windows Server 2008. По умолчанию все пароли в Windows должны отвечать политике безопасности, а именно: Не содержать имени учетной записи пользователя…
Если к службе Microsoft SQL Server должны подключаться программы с других компьютеров в сети, то необходимо чтобы правильным образом был настроен Брандмауэр Windows на сервере, где запущена служба. А именно разрешены…
Запись опубликована в рубрике 1С 7 с метками 1Сv7, SQL, Windows Server 2008. Добавьте в закладки постоянную ссылку.215 Responses to Установка 1С:Предприятие 7.7 на Microsoft SQL Server 2008 R2
Попробуйте вообще отключить Брандмауэр Windows и все другие существующие сетевые экраны и антивирусы. Будет ли ошибка в этом случае?
Спасибо за статью все понятно написано! )))
При этом база корректно работает и проблем нет!
Если можно подскажите в чем трабл?, уж очень нужно перейти на SQL 2008
Вообщем создать представление
и все норм
Еще раз спасибо за статью
Но тут выскочила серьезная проблема. Когда я начал тестить на производительность, многие вещи страшно тормозят, например, просто просматриваю справочник номенклатур по группам, с проставленной галочкой показывать остатки, и это причем, что я один работаю и не запускал еще пользователей.
Как-то непонятно расходуется оперативная память.В чем может быть дело, буду благодарен вашим советам.
Да вроде по счетчикам все нармуль.
Память\ обмен стр/с: Старый сервак 5,134, Новый 1,112.
Физ.диск\ средняядлина очереди диска: Старый 0,935. Новый 0,132
Лог.диск\ ср. длина очереди: Старый 0,852. Новый 0,29.
Такое ощущение, что дело в sql server. Может из-за того, что работает в режиме совместимости с 2000, как будто операцию делает два раза, типа сначала преобразует данные из режима sql2000, потом их обрабатывает, а потом выдает опять в данном режиме для 1с.
А вообще есть какие-нибудь тонкие настройки для sql2008 при работе с 1с?
Скорее всего кавычка с браузера неправильно скопировалась. Попробуйте установить кавычки в запросе руками.
Особенность шрифта на сайте, но когда писал коммент, во втором случае были другие кавычки. После вставки кавычки стали одинаковые. Не знаю, как показать разницу тогда.
Неточности СУБД базы данных (ошибка SQL) в программном продукте 1С: Предприятие 8
Данный материал будет полезен пользователям, столкнувшимся с неточностями в работе программных продуктов на платформе 1С: Предприятие 8.
На рисунке 1 приведен пример окна ошибки: Ошибка СУБД Ошибка SQL.
Почему возникают такие ошибки?
В первую очередь это обуславливается неправильной работой пользователей на местах с программами 1С. Экономия владельцев бизнеса на обучении своего персонала корректной работе с данным программным обеспечением, либо экономия на техническом оснащении, работа на устаревших компьютерах, применение близких к окончанию сроков эксплуатации жестких дисков через некоторое время могут вызвать крупные расходы. Неприятным результатом может стать простой бизнеса, а также утеря данных управленческого, бухгалтерского либо финансового учета.
Примеры источников ошибок в функционировании программ 1С и виды визуального выражения нарушения целостности БД (база данных):
аварийное завершение работы ОС с работающей программой 1С: Предприятие 8, в особенности во время формирования, проведения либо удаления файлов;
удаление и повреждение конфигурационных файлов в результате вмешательства со стороны пользователя либо техники;
приостановка процесса восстановления архивной информации;
отсутствие внешнего надежного напряжения питания;
присутствие файлов без нумерации, дат создания;
присутствие файлов с датой создания, которая не соответствует рядом стоящим файлам, к примеру, 2001 г. 01 ч. 01 мин. 01 с.;
присутствие операций без нумерации, дат создания;
недоступность ранее созданных файлов и операций;
отсутствие ссылок на объекты.
Таким образом, в первую очередь нужно завершить работу программы 1С.
После этого создайте копию БД (база данных) с повреждениями (для этого нужно сохранить базу в отдельный каталог на винчестере). Путь, ведущий к местонахождению БД (база данных), можно определить с помощью панели запуска 1С: Предприятие 8 внизу, найдите данный каталог на жестком диске и скопируйте его (смотрите рисунок 2).
Рисунок 2: Окно запуска 1С: Предприятие 8.
Далее протестируйте БД (база данных) на физическую целостность (на предмет «разрушения»). Чтобы это сделать, выполните переход к стандартной встроенной обработке 1С: Предприятие 8 по исправлению и тестированию неточностей – chdbfl.exe (загрузить для 1С: Предприятие 8). Данный документ должен присутствовать в каталоге с установленной программой 1С, найдите и выполните его запуск (смотрите рисунок 3).
Рисунок 3: Местонахождение документа chdbfl.exe.
Потом выбираем документ 1CV8.1 CD, который можно найти в каталоге нашей БД (база данных) с повреждениями, устанавливаем галочку «Исправлять обнаруженные ошибки» и жмем «Выполнить» (смотрите рисунок 4).
На проверку физической целостности документа БД (база данных) может уйти от 10 мин. до нескольких часов – это определяется объемом вашей БД (база данных) и количеством неточностей в ней. По завершении проверки обнаруженные неточности рекомендуется сохранить в отдельный документ для последующей экспертной диагностики.
Рисунок 4: Окно проверки физической целостности документа информационной базы
После этого зайдите в режим конфигуратора (смотрите рисунок 5) и найдите в нем сервисную утилиту “Тестирование и исправление информационной базы” (смотрите рисунок 6).
Меню – Администрирование – Тестирование и исправление
Рисунок 5: Конфигуратор
Рисунок 6: Окно тестирования и исправления БД (база данных)
Выберите такие пункты, как:
Реиндексация таблиц информационной базы – функция восстановления табличной части БД (база данных).
Проверка логической целостности информационной базы – функция проверки логической целостности БД (база данных).
Проверка ссылочной целостности информационной базы – тестирование внутренних связей таблиц, которые устанавливает программа 1С: Предприятие 8, проверка фактического существования элементов данных со ссылками в полях записи таблиц.
Перерасчет итогов – выполнение полного перерасчета итоговых данных.
Переключатель ниже, выбор пункта «Тестирование и исправление».
Операция «Тестирование и исправление» может длиться от 10 мин. до нескольких часов – это определяется объемом БД (база данных) и количеством неточностей в ней. По завершении проверки обнаруженные неточности рекомендуется сохранить в отдельный документ для последующей экспертной диагностики.
На следующем этапе закройте конфигуратор, откройте БД (база данных) в стандартном режиме и оцените произошедшие изменения с поврежденными файлами либо справочниками, сформируйте ключевые отчеты для сравнения. Если проблемы отсутствуют и все в порядке, смело продолжайте работу с БД (база данных). Если проблема с информационной базой все еще присутствует, приглашайте эксперта по 1С из обслуживающей компании «АйТи-Консалтинг», либо сразу обращайтесь в техническую поддержку 1С.
Внимательно изучите ситуацию, сделайте верные выводы: обеспечьте вашим работникам обучение корректной работе с программами 1С, купите новую технику на замену старой.
Если Вы слишком заняты и не можете тратить на это время, мы ждем Ваших обращений в сертифицированный центр обслуживания 1С - «АйТи-Консалтинг».
A: Такой вариант программы 1C: Предприятие, который может хранить данные на SQL-сервере. Q: Она очень отличается от не SQL-версии?
A: Для пользователя - дополнительное обучение не требуется. Для программиста - дополнительно обучение не обязательно. Для системного администратора необходимы дополнительные знания - немного различаются процедуры установки и резервного копирования. Q: Сложно ли перейти с работы с обычной версией программы на работу с SQL-сервером?
A: Нет, в общем случае не сложно.
Другой вопрос, - как будет без дополнительной настройки работать после перехода на SQL-версию ваша информационная система (созданная на базе 1С: Предприятие 7.7). Может быть по-всякому: также, как и раньше, или лучше, или даже хуже. Q: А какие еще кроме как SQL-сервера существуют способы хранения данных?
A: На большинстве предприятий программа хранит данные в файлах формата DBF. Q: А что такое SQL-сервер?
A: Специальная программа, предназначенная для хранения базы данных и обеспечения другим программам доступа к этим данным. Q: В чем основное отличие использования SQL-сервера для хранения данных?
A: Работая с БД, которая находится в файлах формата DBF, программа сама непосредственно читает и пишет в эти файлы.
Работая с БД, которая расположена на SQL-сервере, программа непосредственно с файлами данных работать не может, с ними работает один только SQL-сервер, а программы обращаются к SQL-серверу с запросами по чтению и изменению данных. Q: Зачем нужен такой сложный доступ к данным?
A: В первую очередь, для надежности хранения данных. Например, понятие "разрушены индексы", часто встречающееся с БД в DBF-формате, при работе с SQL-сервером не существует.
Кроме того, такой сложный доступ к данным, в некоторых случаях, обеспечивает более быстрое получение данных.
Кроме того, такой сложный доступ к данным, в некоторых случаях, является единственным возможным для работы очень большого числа пользователей или для работы с очень большой базой данных. Q: Будет ли работать быстрее программа если перейти на работу с SQL-сервером?
A: Не во всех случаях. Проведение документов в большинстве случаев - медленее.
Желательно оптимизировать конфигурацию под работу с SQL-сервером. Q: В каких случая переход на SQL-версию принесет хоть какую-либо пользу?
A: Гораздо большая надежность хранения данных - для ответственных БД. Единственно возможный способ функционирования БД, если размер ваших SQL-файлов превысил несколько сотен мегабайт и продолжает расти. Или при очень большом числе пользователей. Более быстрое выполнение отчетов, если эти отчеты написанны с учетом того, что данные находяться на SQL-сервере. Q: Что мне нужно для перехода на работу с SQL-сервером?
A: SQL-версия программы 1С: Предприятие 7.7 и SQL-сервер Microsoft SQL Server (MS-SQL Server), а также серверный вариант операционной систем Windows, поскольку MS-SQL Server отказывается устанавливаться на другие варианты Windows. Q: Как отличить SQL-версию внешне?
A: Почти ничем. Можно ткнуться в меню "Помощь\О программе", там в самом верху будет надпись "1С: Предприятие 7.7 для SQL". Q: Если я хочу работать с БД в DBF и с БД на SQL-сервере мне нужно ставить 2 варианта программы?
A: Нет. SQL-вариант прекрасно работает как SQL базами, так и с DBF базами. Q: Какой можно использовать SQL-сервер?
A: Microsoft SQL Server (MS-SQL), начиная с версии 6.5, а лучше - 7.0 и выше. Q: Могу ли я использовать PostgreSQL?
A: Нет. Только Microsoft SQL Server (MS-SQL), начиная с версии 6.5, а лучше - 7.0 и выше. Q: А почему бы фирме 1C не сделать свою программу такой, чтобы она использовала другие сервера? Ведь есть стандарты на SQL?
A: Стандарты на SQL есть, но фактически он охватывает лишь базовые возможности различных SQL-серверов, а не базовые, но весьма нужные возможности - у каждого сервера - свои.
Программа, учитывающая эти различия будет сложнее как на этапе создания, так и на этапе поддержки, а, значит, выше будет ее себестоимость. Q: Могу ли я использовать вариант MS-SQL из поставки Microsoft Office 2000, который называется MSDE2000?
A: У меня MSDE2000 работал нестабильно, а другие говорят, что все хорошо. Можете, но на свой страх и риск. Q: Какой механизм защиты от несанкционированного копирования встрен в MS-SQL?
A: Серийный номер. Q: Мы официально купили 1С: Предприятие 7.7 + Windows 2000 Server + MS-SQL. Не нашли серийного номера для MS-SQL.
A: В этой поставке серийный номер один и тот же у Windows 2000 Server и MS-SQL. Q: Я не работал раньше с сервером MS-SQL. Сложно ли это?
A: Нет, не сложно. Фирма Microsoft старается сделать управление своими серверными программными продуктами доступным даже непрофессионалам. Q: Как установить сервер MS-SQL?
A: Как любую другую программу - инсталлятором. Если установка осуществляется на русскую версию Windows, то все опции в инсталляторе - по умалчиванию. Q: Сервер MS-SQL с настройками по умалчиванию ставить не надо!
A: Если на русскую версию Windows - то по умалчиванию все опции инсталлятора. Если вы считаете себя умным, то можете отказаться от некоторых частей MS-SQL сервера, которые не нужны программе. Q: Что делать после инсталляции сервера MS-SQL?
A: Запустить программу SQL Enterprise Manager. С ее помощью подключиться к свежеинсталлированному серверу. Q: Что необходимо создать на сервере MS-SQL?
A: В первую очередь, надо создать пользователя (пользователя не программы 1C: Предприятие, а пользователя в MS-SQL).
Дать ему права на создание БД.
Зайти в программу SQL Enterprise Manager от имени этого пользователя.
Создать БД. Q: Зачем нужно создавать БД от имени специально созданного пользователя MS-SQL?
A: Иначе в дальшейшем программа не сможет работать с этой БД. Q: Какой необходимо указать размер БД при создании ее на сервере MS-SQL?
A: БД будет увеличиваться автоматически по необходимости. Но можно и сразу создать файлы данных и лога размера равным двойному суммарному размеру файлов DBF-версии, которую вы собираетесь перегнать в SQL-версию. Q: Как начать работу программы с SQL?
A: Создайте пустой каталог. Настройте программу так, будто бы в этом каталоге лежит БД в формате DBF (то есть как обычно). Запустите "Конфигуратор". При старте программа спросит вас какая будет БД - SQL или DBF. Ответите - SQL. Далее - смотри ниже. Q: Как добраться до данных SQL?
A: Если при входе в пустой каталог вы выбрали SQL-вариант базы, то в "Конфигураторе". Появиться еще пункт меню "Администрирование\Параметры базы данных SQL". Q: Какие нужно задать параметры для базы данных SQL?
A: Сервер - имя компьютера с SQL-сервером. База данных - название базы данных, которую вы создали специально для работы программы на SQL-сервере с помощью SQL Enterprise Manager. Пользователь - имя пользователя SQL-сервера, от имени которго была создана база данных на SQL-сервере. Пароль - его пароль. Q: Все пользователи работают с SQL-сервером от имени одного SQL-пользователя?
A: Да все экземпляры программы подключаются к SQL-серверу от имени одного SQL-пользователя, того самого который создал БД на SQL-сервере. Q: Используется ли обычный список пользователей программы при работе с SQL-сервером?
A: Да. Более того, список пользователей программы не должнен быть пуст, иначе вы не сможете работать. Q: Как перенести данные из базы данных DBF в базу данных SQL?
A: В "Конфигураторе" программы DBF-базы "Администрирование\Выгрузить данные". Затем в "Конфигураторе" программы SQL-базы "Администрирование\Загрузить данные" Q: Как перенести данные из базы данных SQL в базу данных DBF?
A: В "Конфигураторе" программы SQL-базы "Администрирование\Выгрузить данные". Затем в "Конфигураторе" программы DBF-базы "Администрирование\Загрузить данные" Q: Как делать резервное копирование базы данных SQL?
A: В "Конфигураторе" программы "Администрирование\Выгрузить данные". Q: Как делать резервное копирование базы данных SQL не отключая пользоватей?
A: Заранее делается копия файла 1Cv7.MD и файла со списком пользователей - в "Конфигураторе" программы "Администрирование\Сохранить". Во время работы можно делать резервное копирование средствами MS-SQL при помощи SQL Enterprise Manager. Подробнее - ниже. Q: Резервное копирование средствами SQL невозможно при работе пользователей?
A: Заранее делается полная резервная копия (Complete Backup). В течение рабочего дня делаются копии лога транзакций MS-SQL (Transaction Log Only Backup). В случае чего для восстановления данных следует использовать "последний Complete Backup + все Transaction Log Only Backup, сделанные после этого Complete Backup'а" Q: Не работает запланированное (Sheduled) резервное копирование средствами SQL!
A: Должен быть запущен сервис SQL Agent. Q: После перехода на SQL версию бегунок на вертикальной полосе прокрутки в журналах и списках элементов справочников всегда посередине.
A: Это сделано для ускорения получения данных.
Дело в том, что с сервера SQL программа получает не все данные, а только те, которые ей нужны для отображения на экране. Программа не определяет сколько всего строк и какую часть она выводит на экран, следовательно, не может и рассчитать куда ставить бегунок прокрутки. Q: После перехода на SQL версию программа стала работать гораздо медленее.
A: Возможно, у вас слишком слабый компьютер выделен под сервер SQL. Особенно чувствителей SQL сервер к количеству оперативной памяти. Не исключено, что конфигурация не приспособлена к SQL-версии. Современные типовые конфигурации от фирмы-изготовителя программы работают с SQL-сервером неплохо. Q: У нас большая фирма, много пользователей и большая БД. Стоимость простоя очень велика. Для надежности хранения данных перешли на SQL. Жутко тормозит.
A: Вам поможет связка "терминальный сервер + SQL-сервер". Терминальный сервер обеспечит производительность, а SQL - сервер надежность. Компьютер под сервер должен быть выделен очень мощный, с огромным объемом оперативной памяти. Q: Существуют ли особенности при программировании под SQL-версию?
A: Несколько иная оптимизация. Глюки ядра SQL-версии и не SQL-версии программы частью совпадают, а частью - различаются. Q: Какие конструкции языка более оптимальны для SQL-версии?
A: Которые одной командой обрабатывают большие массивы данных.
Например, объект "Запрос" более предпочтителен, нежели последовательный перебор (конструкции "ВыбратьЧтоТо() и цикл ПолучитьЧтоТо()). Оптимизация относится только к объектам, предоставляющим доступ к данным в БД, но не к таблицам значений и спискам значений. Q: Можно ли обращаться напрямую к таблицам SQL-сервера посредством запросов на языке SQL?
A: По чтению - да. Существуют даже специальные расширения (не от фирмы 1С) для программы 1C: Предприятие 7.7, которые позволяют это делать. Q: Один пользователь - работает нормально (не монопольно). Другой - тоже. Вместе - не могут.
A: Каталог, в котором лежат файлы 1cv7.MD и иже с ним должен быть у всех пользователей общим. Q: Надо ли давать пользователям доступ к файлам базы данных SQL-сервера?
A: Нет. Этого не нужно. К этим файлам обращается только сама программа MS-SQL сервер. Q: Файл Transaction Log раздувается и раздувается.
A: Файл Transaction Log связан с процедурами резервного копирования сервера SQL. Он автоматически прекращает раздуваться после каждого резервного копирования, сделанного средствами SQL-сервера. Q: Можно ли организовать распределенную БД, используя возможности репликаций, имеющиеся в сервере MS-SQL
A: Нет.
Пользуйтесь механизмами создания распределенных БД, созданным специально для программы 1C: Предприятие 7.7 фирмой 1С или другими фирмами.
Хватит гуглить ответы на профессиональные вопросы! Доверьте их экспертам «Клерка». Завалите лучших экспертов своими вопросами, они это любят!
Поступила жалоба от бухгалтера о проблемах с проведением документов в 1С.
Из скриншота выяснилось, что 1С «ругается» на проблемы с согласованностью «внутри» базы данных и предлагает провести проверку на согласованность.
Переходим в SQL Server Management Studio и, сделав, на всякий случай, бэкап текущего состояния, выполняем проверку:
Для начала переводим нужную нам БД в однопользовательский режим
Запускаем Окно запросов (CTRL+N). Выбираем Новый запрос и вводим запрос Transact-SQL (T-SQL) в этом окне:
Далее, вводим запрос на сканирование базы данных:
Проверка продлилась около 15 минут, после чего выдала следующее:
CHECKDB обнаружил 0 ошибок размещения и 766 ошибок согласованности, не связанных ни с одним объектом.CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности в таблице "sys.sysdbfiles" (идентификатор объекта 20).
CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности в таблице "sys.sysxmlcomponent" (идентификатор объекта 91).
CHECKDB обнаружил 0 ошибок размещения и 49 ошибок согласованности в таблице "_AccRg1025" (идентификатор объекта 1778313595).
CHECKDB обнаружил 0 ошибок размещения и 3 ошибок согласованности в таблице "_AccRgAT21046" (идентификатор объекта 1826313766).
CHECKDB обнаружил 0 ошибок размещения и 1783 ошибок согласованности в таблице "_AccRg1051" (идентификатор объекта 1906314051).
CHECKDB обнаружил 0 ошибок размещения и 2603 ошибок согласованности в базе данных "KA".
Вариант решения №1: восстановление из бэкапа выявило накопительный характер ошибки: чем раньше сделан бэкап – тем меньше в базе ошибок, вплоть до самого «дальнего» (14 дней). Примерно на третьем бэкапе количество ошибок перестало уменьшаться – стало ясно, что этим путём мы придём только к потере актуальности базы и проблему не решить
Вариант решения №2: В справочной информации описаны три возможных варианта исправления этих ошибок, рассмотрим каждый:
REPAIR_FAST
Синтаксис поддерживается только для обеспечения обратной совместимости. Действия по восстановлению не выполняются.
REPAIR_REBUILD
Выполняет действия по восстановлению данных, которые можно выполнить без риска их потери. Это может быть быстрое восстановление (например, восстановление отсутствующих строк в некластеризованных индексах) или более ресурсоемкие операции (например, перестроение индекса).
REPAIR_ALLOW_DATA_LOSS
Пытается устранить все обнаруженные ошибки. Эти исправления могут привести к частичной потере данных.
Аргумент REPAIR_FAST нам не подходит, REPAIR_ALLOW_DATA_LOSS оставим на крайний случай - пробуем REPAIR_REBUILD:
CHECKDB обнаружил 0 ошибок размещения и 766 ошибок согласованности, не связанных ни с одним объектом.CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности в таблице "sys.sysdbfiles" (идентификатор объекта 20).
CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности в таблице "sys.sysxmlcomponent" (идентификатор объекта 91).
CHECKDB обнаружил 0 ошибок размещения и 49 ошибок согласованности в таблице "_AccRg1025" (идентификатор объекта 1778313595).
CHECKDB обнаружил 0 ошибок размещения и 3 ошибок согласованности в таблице "_AccRgAT21046" (идентификатор объекта 1826313766).
CHECKDB обнаружил 0 ошибок размещения и 1783 ошибок согласованности в таблице "_AccRg1051" (идентификатор объекта 1906314051).
CHECKDB обнаружил 0 ошибок размещения и 2603 ошибок согласованности в базе данных "KA".
Не помогло, переводим базу данных обратно в многопользовательский режим:
На всякий случай, я попробовал провести обслуживание базы данных и перепроверил – результат тот же.
Решил провести тестирование и исправление информационной базы средствами 1С, на что получил ошибку
Выгрузить базу данных в *.dt файл тоже не удалось:
Что ж, стало понятно, что часть потерянных данных – меньшее зло, по сравнению с «развалившейся» базой данных, пробуем REPAIR_ALLOW_DATA_LOSS:
И, наконец, после нескольких прогонов, количество ошибок немного уменьшилось:
CHECKDB обнаружил 0 ошибок размещения и 733 ошибок согласованности, не связанных ни с одним объектом.CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности в таблице "sys.sysdbfiles" (идентификатор объекта 20).
CHECKDB обнаружил 0 ошибок размещения и 1 ошибок согласованности в таблице "sys.sysxmlcomponent" (идентификатор объекта 91).
CHECKDB обнаружил 0 ошибок размещения и 1783 ошибок согласованности в таблице "_AccRg1051" (идентификатор объекта 1906314051).
CHECKDB обнаружил 0 ошибок размещения и 2518 ошибок согласованности в базе данных "KA ".
Ситуацию это не спасло: база, по-прежнему не выгружалась и не «лечилась» средствами 1С.
Дальнейшие попытки (по очереди несколько раз запускал REPAIR_REBUILD и REPAIR_ALLOW_DATA_LOSS) не увенчались успехом: количество ошибок не уменьшилось, база, по-прежнему, не выгружалась и не «лечилась».
Коллеги подсказали попробовать очистить (именно очистить, без удаления самой таблицы) «проблемную» таблицу в MS SQL.
Больше всего ошибок в таблице "_AccRg1051" – ей и было принято решение заняться:
И, после успешного выполнения, прогоняем проверку еще раз:
15 минут ожидания и, о чудо – все ошибки исчезли, в том числе и в остальных таблицах.
Перевожу базу в многопользовательский режим, выгружаю в *.dt файл и загружаю обратно.
Звоню бухгалтеру – прошу проверить проблемные документы: всё работает нормально. Пускаю остальных пользователей в базу.
Через час снова ошибка:
Делаем вывод, что выгрузка в *.dt – не панацея. Выгоняем Вежливо просим пользователей выйти и ещё немного потерпеть и тестируем базу с исправлением ошибок в режиме конфигуратора 1С со следующими параметрами
Видим, что всё ОК
Пускаем обратно пользователей в 1С и идём молиться настраивать планы обслуживания баз данных.
Читайте также: