|
Кто встречался с такой ошибкой «Ошибка при попытке выборки логической страницы»? | ☑ | ||
---|---|---|---|---|
0
na1kk 20.03.23 ✎ 11:23 |
Ошибка СУБД: |
|||
1
na1kk 20.03.23 ✎ 11:30 |
Проверка целостности рабочей база со стороны SQL ошибок в структуре не выявила. |
|||
2
АгентБезопасной Нацио 20.03.23 ✎ 11:36 |
(1) как проверяли? |
|||
3
na1kk 20.03.23 ✎ 11:50 |
(2) DBCC CHECKDB (‘ERP_WORK’) WITH MAXDOP = 32; |
|||
4
АгентБезопасной Нацио 20.03.23 ✎ 12:15 |
(3) а если все-таки явно указать ALL_ERRORMSGS ? |
|||
5
vis_tmp 20.03.23 ✎ 12:36 |
(0) Гуглил? |
|||
6
na1kk 20.03.23 ✎ 12:55 |
(5) угу. кроме CHECKDB не особо нашел. |
|||
7
na1kk 20.03.23 ✎ 13:25 |
(4) ошибок нет |
|||
8
АгентБезопасной Нацио 20.03.23 ✎ 14:44 |
(7) странно. а точно ту базу проверяете? а если ограничить проверки «только физикой», но таблоком заставить их выполняться не над снимками, а над таблицами? |
|||
9
na1kk 20.03.23 ✎ 15:08 |
https://prnt.sc/hvsIHt2MLPdw |
|||
10
na1kk 20.03.23 ✎ 15:08 |
(9) вместо вывода информации он возвращает пусто |
|||
11
АгентБезопасной Нацио 20.03.23 ✎ 18:02 |
(10) «По умолчанию выходные данные отправляются в журнал ошибок. Если вы хотите, чтобы выходные данные возвращались к вашему текущему соединению, включите флаг трассировки 3604.»© |
Основная теорема систематики: Новые системы плодят новые проблемы.
Добрый день,
в общем проблема возникала после остановки виртуального хоста из за нехватки места (Hyper-V).
Возникли проблемы с двумя базами — одна SharePoint 2013 (контента), вторая 1С — бухгалтерия (в общем то, что надо не какая нибудь база поиска)… SQL 2015
Базы в статусе — «ожидание восстановление»
По базе 1С — администратор настраивал резервное копирование ежедневное и ежемесячное. Однако удалил часть файлов старых из за того, что они занимали место. Остались 4 BAK файла, за последние 4 дня и один за месяц.
Копирование производилось полное (установлено опция). При попытке восстановить, выдает ошибку «Не может проверить хранилище».
Когда я выбираю — восстановить из файла, указываю файл и нажимаю просмотреть содержимое возникает ошибка:
ЗАГОЛОВОК: Microsoft.SqlServer.Smo
System.Data.SqlClient.SqlError: RESTORE HEADERONLY прервано с ошибкой.
Чтобы получить справку, щелкните: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=11.0.3000.0+((SQL11_PCU_Main).121019-1325+)&LinkId=20476
И ТАК НА ВСЕХ файла BAK 5 шт … кстати их объем достаточно велик, база 5 Гб — BAK файлы по 9 Гб
По базе SharePoint — бэкапа никакого и не было.
Прогонял через DBCC CHECKDB (‘DB’, repair_allow_data_loss) — выдает ошибки
Пробовали способ:
Создание чистой базы
и подмена старой (кроме журналов (остаются новые)), затем выполнение проверки повторной. Не принесло результатов.
Сообщение 7984, уровень 16, состояние 1, строка 2
Предварительная проверка системных таблиц: объект с идентификатором 3. Страница (1:740808) имеет непредвиденный тип 2. Инструкция проверки прервана из-за неустранимой ошибки.
В журнале приложений:
«Ошибка при попытке выборки логической страницы (1:741667) в базе данных 5. Она принадлежит единице распределения 72057663922765824, а не 562949956960256.»
Прошу помогите, что можно придумать еще с бэкапами и что посоветуете сделать в такой ситуации если их вовсе нет.
Спасибо
-
Изменено
10 марта 2016 г. 21:18
-
Изменен тип
Иван ПродановMicrosoft contingent staff, Moderator
25 марта 2016 г. 6:10
Главная
> Uncategorized > [Решено] 1С ошибка при попытке выборки логической страницы
Что и почему сломалось неизвестно. База MSSQL соответственно
Бэкап средствами mssql
ALTER DATABASE Buh --монопольный режим SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO --проверка базы с потерей данных, по справке можно и без нее, но тут уже не --легкий случай DBCC CHECKDB (N'BUH', repair_allow_data_loss) WITH NO_INFOMSGS GO --возвращаем базы в многопользовательский режим ALTER DATABASE buh SET MULTI_USER;
Инфостат натолкнул на решение
|
|||
na1kk
20.03.23 — 11:23 |
Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Ошибка при попытке выборки логической страницы (1:45144933) в базе данных 5. Она принадлежит единице распределения -8247038129288511488, а не 72057636358520832. HRESULT=80004005, SQLSrvr: SQLSTATE=HY000, state=3, Severity=15, native=605, line=1 |
||
na1kk
1 — 20.03.23 — 11:30 |
Проверка целостности рабочей база со стороны SQL ошибок в структуре не выявила. |
||
АгентБезопаснойНацио
2 — 20.03.23 — 11:36 |
(1) как проверяли? |
||
na1kk
3 — 20.03.23 — 11:50 |
(2) DBCC CHECKDB (‘ERP_WORK’) WITH MAXDOP = 32; |
||
АгентБезопаснойНацио
4 — 20.03.23 — 12:15 |
(3) а если все-таки явно указать ALL_ERRORMSGS ? |
||
vis_tmp
5 — 20.03.23 — 12:36 |
(0) Гуглил? Много выдаётся таких же случаев. |
||
na1kk
6 — 20.03.23 — 12:55 |
(5) угу. кроме CHECKDB не особо нашел. |
||
na1kk
7 — 20.03.23 — 13:25 |
(4) ошибок нет |
||
АгентБезопаснойНацио
8 — 20.03.23 — 14:44 |
(7) странно. а точно ту базу проверяете? а если ограничить проверки «только физикой», но таблоком заставить их выполняться не над снимками, а над таблицами? но вообще, лучше на более специальный форум сходить… |
||
na1kk
9 — 20.03.23 — 15:08 |
https://prnt.sc/hvsIHt2MLPdw |
||
na1kk
10 — 20.03.23 — 15:08 |
(9) вместо вывода информации он возвращает пусто |
||
АгентБезопаснойНацио
11 — 20.03.23 — 18:02 |
(10) «По умолчанию выходные данные отправляются в журнал ошибок. Если вы хотите, чтобы выходные данные возвращались к вашему текущему соединению, включите флаг трассировки 3604.»© |
Добрый день,
в общем проблема возникала после остановки виртуального хоста из за нехватки места (Hyper-V).
Возникли проблемы с двумя базами — одна SharePoint 2013 (контента), вторая 1С — бухгалтерия (в общем то, что надо не какая нибудь база поиска)… SQL 2015
Базы в статусе — «ожидание восстановление»
По базе 1С — администратор настраивал резервное копирование ежедневное и ежемесячное. Однако удалил часть файлов старых из за того, что они занимали место. Остались 4 BAK файла, за последние 4 дня и один за месяц.
Копирование производилось полное (установлено опция). При попытке восстановить, выдает ошибку «Не может проверить хранилище».
Когда я выбираю — восстановить из файла, указываю файл и нажимаю просмотреть содержимое возникает ошибка:
ЗАГОЛОВОК: Microsoft.SqlServer.Smo
System.Data.SqlClient.SqlError: RESTORE HEADERONLY прервано с ошибкой.
Чтобы получить справку, щелкните: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=11.0.3000.0+((SQL11_PCU_Main).121019-1325+)&LinkId=20476
И ТАК НА ВСЕХ файла BAK 5 шт … кстати их объем достаточно велик, база 5 Гб — BAK файлы по 9 Гб
По базе SharePoint — бэкапа никакого и не было.
Прогонял через DBCC CHECKDB (‘DB’, repair_allow_data_loss) — выдает ошибки
Пробовали способ:
Создание чистой базы
и подмена старой (кроме журналов (остаются новые)), затем выполнение проверки повторной. Не принесло результатов.
Сообщение 7984, уровень 16, состояние 1, строка 2
Предварительная проверка системных таблиц: объект с идентификатором 3. Страница (1:740808) имеет непредвиденный тип 2. Инструкция проверки прервана из-за неустранимой ошибки.
В журнале приложений:
«Ошибка при попытке выборки логической страницы (1:741667) в базе данных 5. Она принадлежит единице распределения 72057663922765824, а не 562949956960256.»
Прошу помогите, что можно придумать еще с бэкапами и что посоветуете сделать в такой ситуации если их вовсе нет.
Спасибо
-
Изменено
10 марта 2016 г. 21:18
-
Изменен тип
Иван ПродановMicrosoft contingent staff, Moderator
25 марта 2016 г. 6:10
РИБ. При обмене данными выходит следующая ошибка: Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Ошибка при попытке выборки логической страницы (1:413600) в базе данных 7. Она принадлежит единице распределения 7205…. а не 720576… Подскажите как лечить?
Через Тестирование и Исправление выкидывает. а как по другому сделать? База на MS SQL 2008
Я не говорил про ТИИ Я говорил про проверку и исправление средствами самого скуля.
Тэги:
Комментарии доступны только авторизированным пользователям
Ошибка 1С 7.7 выглядела как-то так:
SQL State: 425000 Native: 605 Message: [Microsoft][ODBC SQL Server Driver][SQL Server[Attempt to fetch logical page (10:4232) in database 'sql_1c' belongs to object 'SC9656', not to object 'SC9519'..
В первую очередь — сделал бекап SQL базы. На всякий случай.
При попытке выгрузить базу средствами 1С — то же самое. Восстановление базы SQL из самого последнего бекапа (несколько часов назад) не помогло.
При попытке выполнить
DBCC CHECKDB (sql_1c, repair_rebuild)
Говорит что
consistency errors in sysobjects, sysindexes, syscolumns, or systypes prevent further CHECK processing.
Переиндексация командой
EXEC _1sp_DBReindex
тоже не помогла.
А помогла проверка и исправление таблицы, которая указана в ошибке второй (то есть SC9519) с параметром REPAIR_ALLOW_DATA_LOSS:
USE sql_1c GO alter database sql_1c set single_user with rollback immediate GO DBCC CHECKTABLE (SC9519, REPAIR_ALLOW_DATA_LOSS) alter database sql_1c set multi_user GO
На всякий случай — проверяем эту таблицу дважды.
- ms_windows_ms_sql/1с-7-7-ошибка-sql-attempt-to-fetch-logical-page-database-failed.txt
- Last modified: 2019/02/11 09:13
- by 127.0.0.1
Log In
На днях столкнулся с одной ошибкой SQL. Попробовал все варианты исправления, и на уровне 1С и на уровне самого SQL, даже индексы хотел было перестроить. Но помогла банальная перезагрузка (физически) сервера.
Но по пути накопал вот этот список ошибок и их решений. В будущем может пригодиться!
Источник
Причины сообщения «Ошибка блокировки открытия базы данных»
Такое сообщение может возникнуть при блокировке файла users.usr. В этот момент у кого-то из пользователей может быть открыто окно ввода логина и пароля. Довольно часто такое сообщение возникает при массовом входе в программу.
Также такое сообщение могут вызвать зависшие файловые блокировки в каталоге базы. Это может быть связано с проблемами сети. Помочь может перезагрузка сервера.
Duplicate key в таблице _1scrdoc
Удаление повторяющихся ключей с помощью метода описанного в статье может не помочь. При пересчете такие записи могут появиться вновь. Для решения проблемы можно применить следующую методику — создаете пустую базу в нее копируете файл конфигурации, заходите в конфигуратор, удаляете все графы отбора, сохраняете, копируете файл конфигурации в рабочую базу, запускаете пересчет служебных данных, восстанавливаете графы отбора. Все должно работать.
Восстановление базы только из MDF
Оригинальный материал
1. Создаем новую базу с таким же именем и такимиже по именам и расположению .mdf и .ldf файлами
2. Останавливаем сервер, подменяем файл .mdf
3. Стартуем сервер, не обращаем внимания на статус базы
4. Из QA выполняем скрипт
Use master
go
sp_configure ‘allow updates’, 1
reconfigure with override
go
4.Там же выполняем
update sysdatabases set status= 32768 where name = ‘<db_name>’
5. Перезапускаем SQL Server
6. В принципе база должна быть видна (в emergency mode). Можно, например, заскриптовать все объекты. Заходим в EM, выбираем базу, снимаем галку Restricted access в свойствах базы.
7. Из QA выполняем
DBCC REBUILD_LOG(‘<db_name>’, ‘<имя нового лога с указанием полного пути>’)
SQL Server скажет — Warning: The log for database ‘<db_name>’ has been rebuilt.
8. Если все нормально, то там же выполняем
Use master
go
sp_dboption ‘<db_name>’, ‘single_user’, ‘true’
go
USE <db_name>
GO
DBCC CHECKDB(‘<db_name>’, REPAIR_ALLOW_DATA_LOSS)
go
9. Если все в порядке, то
sp_dboption ‘<db_name>’, ‘single_user’, ‘false’
go
Use master
go
sp_configure ‘allow updates’, 0
go
Ошибка violation of pirmary key при загрузке в базу УРБД
Симпотмы:
При загрузке репликации в переферийную базу, SQL вылетает с ошибкой:
Violation of PRIMARY KEY constraint ‘PK_RA4047’. Cannot insert duplicate key in object ‘RA4047’
Лечение:
Для решения данной проблемы отработана следующая технология. Запускаем SQL Profiler с регистрацией ошибок. Когда появляется ошибка смотрим последние операторы, определяем IDDOC сбойного документа. Проблема в том, что признак проведенности по регистру у документа снят (флаг RF), а движения существуют. Вот и происходит ошибка. Лечение — восстановить флаг RF и признак проведенности документы. Можно конечно удалить движения, но не факт, что это правильно отразится на итогах в регистре.
После переноса базы с одного сервера на сервер при попытке подключиться к ней выдается сообщение: Server: Msg 916, Level 14, State 1, Line 1 Server user «user_1c» is not a valid user in database «CV7DB»
sp_change_users_login AUTO_FIX, ‘user_1c’
«Cannot open user default database». Using master database instead
Это сообщение может возникнуть в том случае, если база данных, которая когда-то была базой по умолчанию для некоторого пользователя, была удалена или в текущий момент недоступна. Тем не менее данная ситуация может привести к тому, что логин станет заблокированным и не сможет подключится к любой другой БД на данном сервере. Для того, чтобы исправить эту ситуацию нужно задать другую БД (например, master) по умолчанию для данного логина:
sp_defaultdb ‘user_name’,’master’
Какой выбрать сервер/сеть & etc для работы 1С на SQL Server Сервер двухпроцессорный , память минимум 256 (лучше больше, SQL память любит, и юзает ее грамотно)
Дисковая подсистема. Минимум 2 винта, лучше SCSI. Почему 2 — потому что нам RAID нужен. Для бедных — программный (кстати в NT 1 и 3! RAID хорошо реализован), для богатых — железный. Официальные рекомендации Microsoft для больших, сильно нагруженных БД SQL: 2 диска (RAID1) — система, от 3 дисков (RAID5) — сама БД, 2 диска (RAID1) — для журналов транзакций.
Сеть можно и 10, хотя лучше 100 М. Хороший вариант — сетевые карточки Intel или 3Com, которые могут работать в команде (режим отказоустойчивости или повышения пропускной способности). Хотя мы используем просто 2 карточки: половина офиса ходит на одну, вторая половина людей на вторую. На какой адрес ходить, устанавливается в Client Network Utility.
Как производить проверку, переиндексацию базы на SQL Server
Проверку логической целостности нужно выполнять штатными средствами 1С:Предприятия (Тестирование и исправление ИБ). В случае, если такую проверку не удается выполнить, следует проверить физическую целостность БД средствами MS SQL.
Для проверки целостности средствами MS SQL нужно выполнить следующую команду: DBCC CHECKDB (‘<имя базы>’,REPAIR_REBUILD)
Перед выполнением этой команды нужно базу данных перевести в режим «single user»: sp_dboption ‘<имя базы>’,’single user’,true.
В процессе работы DBCC CHECKDB могут быть обнаружены ошибки и часть может быть сразу же исправлена. Если ошибки остались, то по всей видимости их нельзя восстановить без потери некоторых данных. В этом случае нужно запустить DBCC CHECKDB с параметром REPAIR_ALLOW_DATA_LOSS (перед запуском желательно сделать копию файлов базы данных). DBCC CHECKDB (‘<имя базы>’,REPAIR_ALLOW_DATA_LOSS)
После выполнения DBCC CHECKDB нужно не забыть вернуться в нормальный режим (выйти из режима «single user»): sp_dboption ‘<имя базы>’,’single user’,false.
Переиндексацию базы данных на MS SQL не нужно делать так часто, как в случае с DBF-версией 1С:Предприятия (например, при аварийном завершении работы пользователя). MS SQL автоматически поддерживает индексы в актуальном состоянии. Пересоздавать индексы имеет смысл в одном из следующих случаев:
1) Индекс физически поврежден. Это случается довольно редко и для восстановления нужно использовать вышеупомянутый DBCC CHECKDB.
2) Страницы индекса сильно фрагментированы и требуется их упорядочить.
3) Нужно изменить степень заполнения индексных страниц (fill factor).
4) Требуется изменить тип индекса (кластерный/некластерный). При использовании 1С это обычно неактуально.
Для пересоздания индексов следует воспользоваться командой: DBCC DBREINDEX (‘<имя таблицы>’) или запустить хранимую процедуру, которая переиндексирует все таблицы в базе данных: EXEC _1sp_DBReindex
Время от времени возникает проблема «Доступ к базе на сервере возможен только из одного каталога информационной базы». Как лечить?
Диагноз:
Такая ошибка возникает при попытке загрузить версию 1С для SQL после того, как один из пользователей некорректно вышел из системы. В редких случаях эта ошибка может быть результатом некорректной установки конфигурации.
Анамнез:
После закрытия 1С на сервере NT освобождаются ресурсы, которые занимал пользователь. Однако в случае некорректного завершения работы не останавливается SQL-процесс, запущенный пользователем.
Рецепт:
Принудительно остановить SQL-процесс можно с помощью SQL Enterprise Manager. В нем все активные процессы перечисленны в ветке “ManagementCurrent ActivityProcess Info”. Надо найти в списке справа процесс, который мешает Вам жить, выделить его и в меню “Action” выбрать пункт “Kill Process”
Если пользователи работают по протоколу Named pipes, то можно просто закрыть файлы на SQL-сервере, открытые повисшим пользователем. Такие файлы имеют вид PIPEMSSQL$NAMEDSERVERSQLquery.
Если вышеизложенное слишком сложно для Вас, Вы можете просто перегрузить SQL server. Надо только убедиться, что ни одна другая програма не использует его в этот момент.
Если ошибка возникает постоянно, имеет смысл проверить правильность установки конфигурации: с одной базой данных на сервере пользователи должны работать из одного каталога с конфигурационными файлами. Иначе говоря, не могут одновременно работать две (даже идентичные) конфигурации, размещенные в разных каталогах и ссылающиеся на одну и ту же базу.
Умер SQL, но mdf и ldf-файлы остались. Можно ли поднять базу?
exec sp_attach_db <имя БД>,<путь к файлу *.mdf>,<путь к файлу *.ldf>
Ошибка SQL Server «Cannot resolve collation for equal operation»
Данная ошибка возникает при сравнении полей с различной collation. Подробно описание ошибки можно найти в статье «Transact-SQL ReferenceData TypesCollation Precedence» в Books OnLine. В случае 1С это может быть, например, когда различаются collation вашей рабочей базы и базы tempdb. При первоначальной установке collation базы tempdb устанавливается такой же как у сервера и обычно не меняется. Collation базы выбирается при создании базы, но может быть изменена с помощью команды ALTER DATABASE. Поэтому обычно такая ошибка возникает, когда collation базы первоначально была выбрана отличной от collation сервера. База tempdb используется для создания временных таблиц, в частности, когда используется конструкция «В» в запросе или когда используется отбор по группе в других выборках.
Чтобы устранить эту ошибку нужно поменять либо collation рабочей базы, либо collation сервера. Чтобы поменять collation рабочей базы воспользуйтесь командой ALTER DATABASE COLLATION = collation_сервера. При этом сами данные не изменяются. Поэтому необходимо сначала выгрузить ваши данные, а потом загрузить обратно. Я, например, делал это с помощью инструмента Data Transformation Services (DTS) с помощью задачи переноса объекто SQL Server с сервера на сервер. Для этого нужно создать новую базу с collation равной collation сервера, в параметрах задачи (на рабочем поле кликнете правой клавишой мышки, выберите «Disconnected Edit», затем ветку задач, вашу задачу переноса) нужно указать дополнительную опцию ScriptOptionEx = SQLDMOScript2_70Only(16777216), которая укажет не формировать для каждого поля его collation (чтобы не переносить старую). Затем нужно выполнить задачу. Все. Теперь можете пользоваться новой базой, либо загрузить данные обратно.
Про дополнительную опцию можно прочитать в статье «Data Transformation ServicesUsage Considerations in DTSData Conversion and Transformation Considerations».
Ошибка «Could not continue scan with NOLOCK due to data movement»
В BOL причина ошибки связана с сочетанием блокировки (NOLOCK) и уровнем изоляции (READ UNCOMMITED) таким образом, что при чтении данных некоторые прочитанные страницы могут быть удалены до завершения транзакции. Нам это ничего не дает. Кажется, что проблема связана с проектированием 1С. На самом деле система использует другой уровень изоляции, который не может привести к такой ситуации. Обычно ошибка появляется при разрушении данных. На моей памяти это было в двух случаях. Проверка БД производится как обычно с помощью DBCC CHECKDB. Если данные разрушены, то команда выдаст список объектов, в которых найдены повреждения. Сделайте резервную копию и попытайтесь с помощью все той же DBCC CHECKDB восстановить данные. Если повреждения несерьезные, то восстановление проходит гладко. Если нет, то проще произвести восстановление БД из резервной копии.
Совет. Чтобы не возникало данной ошибки, следите за местом на диске, следите за состоянием вашей дисковой системы, ставьте на сервер ИБП, делайте резервные копии.
Каким образом на клиентской рабочей станции можно настроить сетевой протокол (TCP/IP, Named Pipes и т.д.) взаимодействия с сервером MS SQL?
Для этого нужно воспользоваться вышеупомянутой утилитой Client Network Utility. С помощью нее можно настроить тип протокола (TCP/IP, Named Pipes, Multiprotocol и т.д.), а также ряд дополнительных параметров (например, при успользовании протокола TCP/IP можно указать порт, по которому будет производиться подключение к серверу MS SQL).
Как устранить ошибку «База не может быть открыта в однопользовательском режиме»?
Данная ошибка происходит при попытке войти в 1С монопольно, при этом в текущий момент к этой базе есть открытые соединения (не 1С). Первое — закройте все приложения, которые могут использовать эту базу. Это могут быть Enterprise Manage, Query Analyzer, SQL Profiler. Можно не их закрывать, а проделать, например, следующие действия: EM — сделать Disconnect для сервера, QA — выбрать другую базу в списке, Profiler — закрыть все трейсы. Второе — для устранения этой проблемы нужно закрыть все открытые подключения к этой базе. Для получения информации о том, кто в данный момент подключен к базе, в Enterprise Manager 2000 есть раздел Management Current Activity Process Info.
Login failed for user XXX. Reason: Not associated with trusted SQL Server connection
1С поддерживает только смешанный режим подключения к SQL Server. Для установки режима подключения в свойствах сервера на закладке Security выберите Mixed mode.
При выгрузке-загрузке 1С зависает, либо вылетает
Одной из причин (довольно распространенной) является наличие реквизитов неограниченной длины. Например, такие рквизиты обычно присутствуют в общих реквизитах документа (Комментарий). При выгрузке такие реквизиты должны стоять в конце списка реквизитов. Если все же ошибка не устраняется, то поробуйте удалить эти реквизиты и произвести выгрузку-загрузку без них.
Еще один универсальный совет — при загрузке в строке состояния пишется загрузка какого объекта производиться. Если на этом объекте 1С зависла или вылетела, то попробуйте произвести выгрузку без этих объектов — для этого их нужно удалить из базы. Конечно это не выход, но все же таким образом вы убедитесь, что причина именно в этом виде объектов, что поможет вам локализовать причину ошибки.
И конечно же самое первое, что вы должны сделать перед выгрузкой это тестирование базы. Подробно про переход на весрию SQL 1С (в том числе про выгрузку-загрузку) вы можете прочитать в этой статье.
Восстановление базы данных только из MDF
1. Создаем пустую базу с_тем_же_именем, остановливаем сервер и записываем вместо «родного» файла этой базы свой *.mdf.
2. Запускаем сервер. Он переведет базу в suspect.
3. Выводим базу из состояния suspect:
use master
go
sp_configure ‘allow updates’,1
go
reconfigure with override
go
—Для сброса признака suspect выполняем в БД master ХП sp_resetstatus:
update sysdatabases set status=32768 where name=’Base_New’
go
—А теперь запретим прямое изменение системных таблиц:
sp_configure ‘allow updates’,0
go
4. База находится в «emergency mode», поэтому копируем данные из этой базы в новую, используя режим «Copy objects and data, between SQL Server databases».
Автор ответа Джинн, neatmen
База находится в состоянии suspect. Как ее «оживить»?
use master
go
sp_configure ‘allow updates’,1
go
reconfigure with override
go
—Для сброса признака suspect выполняем в БД master ХП sp_resetstatus:
update sysdatabases set status=32768 where name=’Base_New’
go
—А теперь запретим прямое изменение системных таблиц:
sp_configure ‘allow updates’,0
go
При запуске 1С для SQL базы 1С закрывается без всяких сообщений. С одним пользователем работает, с другим нет
Например, под администратором работает нормально, а под другими пользователями нет. Я встречал такую ситуацию уже два раза. Оба раза 1С не запускалась вообще. Причина была банальной — на папке с базой стояли права только на чтение. Кто-то вообразил себя супер вумным админом и решил — раз БД лежит на SQL, то зачем что-томенять в каталоге ИБ? Поставил права только на чтение и забыл. Права могут стоять не обязательнона папке, могут стоять на md или другом файле или только для определенных пользователей.
Других причин «безмолвного» закрытия 1С не встречал. Были случаи когда рушился mlg файл (лог действий)или вообще конфа рушилась. Но в этих случаях обычно выдается сообщение с предложением «сходить к Microsoft».
Проблемы при соединении с SQL Server установленном на Windows 2003 Server
Обычно выдается сообщение «SQL server does not exist or access denied» несмотря на все настройки , доступность сервера и т.п. По текущим сводкам с полей проблему решает установка SP 3a.
Данный материал будет полезен пользователям, столкнувшимся с неточностями в работе программных продуктов на платформе 1С: Предприятие 8.
Наличие большого количества сообщений пользователей (администраторов компаний, клиентов) с просьбой о содействии в ликвидации крупных ошибок СУБД базы данных (ошибка SQL) в программе 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С — «АйТи-Консалтинг».
На днях столкнулся с одной ошибкой SQL. Попробовал все варианты исправления, и на уровне 1С и на уровне самого SQL, даже индексы хотел было перестроить. Но помогла банальная перезагрузка (физически) сервера.
Но по пути накопал вот этот список ошибок и их решений. В будущем может пригодиться!
Источник
Причины сообщения «Ошибка блокировки открытия базы данных»
Такое сообщение может возникнуть при блокировке файла users.usr. В этот момент у кого-то из пользователей может быть открыто окно ввода логина и пароля. Довольно часто такое сообщение возникает при массовом входе в программу.
Также такое сообщение могут вызвать зависшие файловые блокировки в каталоге базы. Это может быть связано с проблемами сети. Помочь может перезагрузка сервера.
Duplicate key в таблице _1scrdoc
Удаление повторяющихся ключей с помощью метода описанного в статье может не помочь. При пересчете такие записи могут появиться вновь. Для решения проблемы можно применить следующую методику — создаете пустую базу в нее копируете файл конфигурации, заходите в конфигуратор, удаляете все графы отбора, сохраняете, копируете файл конфигурации в рабочую базу, запускаете пересчет служебных данных, восстанавливаете графы отбора. Все должно работать.
Восстановление базы только из MDF
Оригинальный материал
1. Создаем новую базу с таким же именем и такимиже по именам и расположению .mdf и .ldf файлами
2. Останавливаем сервер, подменяем файл .mdf
3. Стартуем сервер, не обращаем внимания на статус базы
4. Из QA выполняем скрипт
Use master
go
sp_configure ‘allow updates’, 1
reconfigure with override
go
4.Там же выполняем
update sysdatabases set status= 32768 where name = ‘<db_name>’
5. Перезапускаем SQL Server
6. В принципе база должна быть видна (в emergency mode). Можно, например, заскриптовать все объекты. Заходим в EM, выбираем базу, снимаем галку Restricted access в свойствах базы.
7. Из QA выполняем
DBCC REBUILD_LOG(‘<db_name>’, ‘<имя нового лога с указанием полного пути>’)
SQL Server скажет — Warning: The log for database ‘<db_name>’ has been rebuilt.
8. Если все нормально, то там же выполняем
Use master
go
sp_dboption ‘<db_name>’, ‘single_user’, ‘true’
go
USE <db_name>
GO
DBCC CHECKDB(‘<db_name>’, REPAIR_ALLOW_DATA_LOSS)
go
9. Если все в порядке, то
sp_dboption ‘<db_name>’, ‘single_user’, ‘false’
go
Use master
go
sp_configure ‘allow updates’, 0
go
Ошибка violation of pirmary key при загрузке в базу УРБД
Симпотмы:
При загрузке репликации в переферийную базу, SQL вылетает с ошибкой:
Violation of PRIMARY KEY constraint ‘PK_RA4047’. Cannot insert duplicate key in object ‘RA4047’
Лечение:
Для решения данной проблемы отработана следующая технология. Запускаем SQL Profiler с регистрацией ошибок. Когда появляется ошибка смотрим последние операторы, определяем IDDOC сбойного документа. Проблема в том, что признак проведенности по регистру у документа снят (флаг RF), а движения существуют. Вот и происходит ошибка. Лечение — восстановить флаг RF и признак проведенности документы. Можно конечно удалить движения, но не факт, что это правильно отразится на итогах в регистре.
После переноса базы с одного сервера на сервер при попытке подключиться к ней выдается сообщение: Server: Msg 916, Level 14, State 1, Line 1 Server user «user_1c» is not a valid user in database «CV7DB»
sp_change_users_login AUTO_FIX, ‘user_1c’
«Cannot open user default database». Using master database instead
Это сообщение может возникнуть в том случае, если база данных, которая когда-то была базой по умолчанию для некоторого пользователя, была удалена или в текущий момент недоступна. Тем не менее данная ситуация может привести к тому, что логин станет заблокированным и не сможет подключится к любой другой БД на данном сервере. Для того, чтобы исправить эту ситуацию нужно задать другую БД (например, master) по умолчанию для данного логина:
sp_defaultdb ‘user_name’,’master’
Какой выбрать сервер/сеть & etc для работы 1С на SQL Server Сервер двухпроцессорный , память минимум 256 (лучше больше, SQL память любит, и юзает ее грамотно)
Дисковая подсистема. Минимум 2 винта, лучше SCSI. Почему 2 — потому что нам RAID нужен. Для бедных — программный (кстати в NT 1 и 3! RAID хорошо реализован), для богатых — железный. Официальные рекомендации Microsoft для больших, сильно нагруженных БД SQL: 2 диска (RAID1) — система, от 3 дисков (RAID5) — сама БД, 2 диска (RAID1) — для журналов транзакций.
Сеть можно и 10, хотя лучше 100 М. Хороший вариант — сетевые карточки Intel или 3Com, которые могут работать в команде (режим отказоустойчивости или повышения пропускной способности). Хотя мы используем просто 2 карточки: половина офиса ходит на одну, вторая половина людей на вторую. На какой адрес ходить, устанавливается в Client Network Utility.
Как производить проверку, переиндексацию базы на SQL Server
Проверку логической целостности нужно выполнять штатными средствами 1С:Предприятия (Тестирование и исправление ИБ). В случае, если такую проверку не удается выполнить, следует проверить физическую целостность БД средствами MS SQL.
Для проверки целостности средствами MS SQL нужно выполнить следующую команду: DBCC CHECKDB (‘<имя базы>’,REPAIR_REBUILD)
Перед выполнением этой команды нужно базу данных перевести в режим «single user»: sp_dboption ‘<имя базы>’,’single user’,true.
В процессе работы DBCC CHECKDB могут быть обнаружены ошибки и часть может быть сразу же исправлена. Если ошибки остались, то по всей видимости их нельзя восстановить без потери некоторых данных. В этом случае нужно запустить DBCC CHECKDB с параметром REPAIR_ALLOW_DATA_LOSS (перед запуском желательно сделать копию файлов базы данных). DBCC CHECKDB (‘<имя базы>’,REPAIR_ALLOW_DATA_LOSS)
После выполнения DBCC CHECKDB нужно не забыть вернуться в нормальный режим (выйти из режима «single user»): sp_dboption ‘<имя базы>’,’single user’,false.
Переиндексацию базы данных на MS SQL не нужно делать так часто, как в случае с DBF-версией 1С:Предприятия (например, при аварийном завершении работы пользователя). MS SQL автоматически поддерживает индексы в актуальном состоянии. Пересоздавать индексы имеет смысл в одном из следующих случаев:
1) Индекс физически поврежден. Это случается довольно редко и для восстановления нужно использовать вышеупомянутый DBCC CHECKDB.
2) Страницы индекса сильно фрагментированы и требуется их упорядочить.
3) Нужно изменить степень заполнения индексных страниц (fill factor).
4) Требуется изменить тип индекса (кластерный/некластерный). При использовании 1С это обычно неактуально.
Для пересоздания индексов следует воспользоваться командой: DBCC DBREINDEX (‘<имя таблицы>’) или запустить хранимую процедуру, которая переиндексирует все таблицы в базе данных: EXEC _1sp_DBReindex
Время от времени возникает проблема «Доступ к базе на сервере возможен только из одного каталога информационной базы». Как лечить?
Диагноз:
Такая ошибка возникает при попытке загрузить версию 1С для SQL после того, как один из пользователей некорректно вышел из системы. В редких случаях эта ошибка может быть результатом некорректной установки конфигурации.
Анамнез:
После закрытия 1С на сервере NT освобождаются ресурсы, которые занимал пользователь. Однако в случае некорректного завершения работы не останавливается SQL-процесс, запущенный пользователем.
Рецепт:
Принудительно остановить SQL-процесс можно с помощью SQL Enterprise Manager. В нем все активные процессы перечисленны в ветке “ManagementCurrent ActivityProcess Info”. Надо найти в списке справа процесс, который мешает Вам жить, выделить его и в меню “Action” выбрать пункт “Kill Process”
Если пользователи работают по протоколу Named pipes, то можно просто закрыть файлы на SQL-сервере, открытые повисшим пользователем. Такие файлы имеют вид PIPEMSSQL$NAMEDSERVERSQLquery.
Если вышеизложенное слишком сложно для Вас, Вы можете просто перегрузить SQL server. Надо только убедиться, что ни одна другая програма не использует его в этот момент.
Если ошибка возникает постоянно, имеет смысл проверить правильность установки конфигурации: с одной базой данных на сервере пользователи должны работать из одного каталога с конфигурационными файлами. Иначе говоря, не могут одновременно работать две (даже идентичные) конфигурации, размещенные в разных каталогах и ссылающиеся на одну и ту же базу.
Умер SQL, но mdf и ldf-файлы остались. Можно ли поднять базу?
exec sp_attach_db <имя БД>,<путь к файлу *.mdf>,<путь к файлу *.ldf>
Ошибка SQL Server «Cannot resolve collation for equal operation»
Данная ошибка возникает при сравнении полей с различной collation. Подробно описание ошибки можно найти в статье «Transact-SQL ReferenceData TypesCollation Precedence» в Books OnLine. В случае 1С это может быть, например, когда различаются collation вашей рабочей базы и базы tempdb. При первоначальной установке collation базы tempdb устанавливается такой же как у сервера и обычно не меняется. Collation базы выбирается при создании базы, но может быть изменена с помощью команды ALTER DATABASE. Поэтому обычно такая ошибка возникает, когда collation базы первоначально была выбрана отличной от collation сервера. База tempdb используется для создания временных таблиц, в частности, когда используется конструкция «В» в запросе или когда используется отбор по группе в других выборках.
Чтобы устранить эту ошибку нужно поменять либо collation рабочей базы, либо collation сервера. Чтобы поменять collation рабочей базы воспользуйтесь командой ALTER DATABASE COLLATION = collation_сервера. При этом сами данные не изменяются. Поэтому необходимо сначала выгрузить ваши данные, а потом загрузить обратно. Я, например, делал это с помощью инструмента Data Transformation Services (DTS) с помощью задачи переноса объекто SQL Server с сервера на сервер. Для этого нужно создать новую базу с collation равной collation сервера, в параметрах задачи (на рабочем поле кликнете правой клавишой мышки, выберите «Disconnected Edit», затем ветку задач, вашу задачу переноса) нужно указать дополнительную опцию ScriptOptionEx = SQLDMOScript2_70Only(16777216), которая укажет не формировать для каждого поля его collation (чтобы не переносить старую). Затем нужно выполнить задачу. Все. Теперь можете пользоваться новой базой, либо загрузить данные обратно.
Про дополнительную опцию можно прочитать в статье «Data Transformation ServicesUsage Considerations in DTSData Conversion and Transformation Considerations».
Ошибка «Could not continue scan with NOLOCK due to data movement»
В BOL причина ошибки связана с сочетанием блокировки (NOLOCK) и уровнем изоляции (READ UNCOMMITED) таким образом, что при чтении данных некоторые прочитанные страницы могут быть удалены до завершения транзакции. Нам это ничего не дает. Кажется, что проблема связана с проектированием 1С. На самом деле система использует другой уровень изоляции, который не может привести к такой ситуации. Обычно ошибка появляется при разрушении данных. На моей памяти это было в двух случаях. Проверка БД производится как обычно с помощью DBCC CHECKDB. Если данные разрушены, то команда выдаст список объектов, в которых найдены повреждения. Сделайте резервную копию и попытайтесь с помощью все той же DBCC CHECKDB восстановить данные. Если повреждения несерьезные, то восстановление проходит гладко. Если нет, то проще произвести восстановление БД из резервной копии.
Совет. Чтобы не возникало данной ошибки, следите за местом на диске, следите за состоянием вашей дисковой системы, ставьте на сервер ИБП, делайте резервные копии.
Каким образом на клиентской рабочей станции можно настроить сетевой протокол (TCP/IP, Named Pipes и т.д.) взаимодействия с сервером MS SQL?
Для этого нужно воспользоваться вышеупомянутой утилитой Client Network Utility. С помощью нее можно настроить тип протокола (TCP/IP, Named Pipes, Multiprotocol и т.д.), а также ряд дополнительных параметров (например, при успользовании протокола TCP/IP можно указать порт, по которому будет производиться подключение к серверу MS SQL).
Как устранить ошибку «База не может быть открыта в однопользовательском режиме»?
Данная ошибка происходит при попытке войти в 1С монопольно, при этом в текущий момент к этой базе есть открытые соединения (не 1С). Первое — закройте все приложения, которые могут использовать эту базу. Это могут быть Enterprise Manage, Query Analyzer, SQL Profiler. Можно не их закрывать, а проделать, например, следующие действия: EM — сделать Disconnect для сервера, QA — выбрать другую базу в списке, Profiler — закрыть все трейсы. Второе — для устранения этой проблемы нужно закрыть все открытые подключения к этой базе. Для получения информации о том, кто в данный момент подключен к базе, в Enterprise Manager 2000 есть раздел Management Current Activity Process Info.
Login failed for user XXX. Reason: Not associated with trusted SQL Server connection
1С поддерживает только смешанный режим подключения к SQL Server. Для установки режима подключения в свойствах сервера на закладке Security выберите Mixed mode.
При выгрузке-загрузке 1С зависает, либо вылетает
Одной из причин (довольно распространенной) является наличие реквизитов неограниченной длины. Например, такие рквизиты обычно присутствуют в общих реквизитах документа (Комментарий). При выгрузке такие реквизиты должны стоять в конце списка реквизитов. Если все же ошибка не устраняется, то поробуйте удалить эти реквизиты и произвести выгрузку-загрузку без них.
Еще один универсальный совет — при загрузке в строке состояния пишется загрузка какого объекта производиться. Если на этом объекте 1С зависла или вылетела, то попробуйте произвести выгрузку без этих объектов — для этого их нужно удалить из базы. Конечно это не выход, но все же таким образом вы убедитесь, что причина именно в этом виде объектов, что поможет вам локализовать причину ошибки.
И конечно же самое первое, что вы должны сделать перед выгрузкой это тестирование базы. Подробно про переход на весрию SQL 1С (в том числе про выгрузку-загрузку) вы можете прочитать в этой статье.
Восстановление базы данных только из MDF
1. Создаем пустую базу с_тем_же_именем, остановливаем сервер и записываем вместо «родного» файла этой базы свой *.mdf.
2. Запускаем сервер. Он переведет базу в suspect.
3. Выводим базу из состояния suspect:
use master
go
sp_configure ‘allow updates’,1
go
reconfigure with override
go
—Для сброса признака suspect выполняем в БД master ХП sp_resetstatus:
update sysdatabases set status=32768 where name=’Base_New’
go
—А теперь запретим прямое изменение системных таблиц:
sp_configure ‘allow updates’,0
go
4. База находится в «emergency mode», поэтому копируем данные из этой базы в новую, используя режим «Copy objects and data, between SQL Server databases».
Автор ответа Джинн, neatmen
База находится в состоянии suspect. Как ее «оживить»?
use master
go
sp_configure ‘allow updates’,1
go
reconfigure with override
go
—Для сброса признака suspect выполняем в БД master ХП sp_resetstatus:
update sysdatabases set status=32768 where name=’Base_New’
go
—А теперь запретим прямое изменение системных таблиц:
sp_configure ‘allow updates’,0
go
При запуске 1С для SQL базы 1С закрывается без всяких сообщений. С одним пользователем работает, с другим нет
Например, под администратором работает нормально, а под другими пользователями нет. Я встречал такую ситуацию уже два раза. Оба раза 1С не запускалась вообще. Причина была банальной — на папке с базой стояли права только на чтение. Кто-то вообразил себя супер вумным админом и решил — раз БД лежит на SQL, то зачем что-томенять в каталоге ИБ? Поставил права только на чтение и забыл. Права могут стоять не обязательнона папке, могут стоять на md или другом файле или только для определенных пользователей.
Других причин «безмолвного» закрытия 1С не встречал. Были случаи когда рушился mlg файл (лог действий)или вообще конфа рушилась. Но в этих случаях обычно выдается сообщение с предложением «сходить к Microsoft».
Проблемы при соединении с SQL Server установленном на Windows 2003 Server
Обычно выдается сообщение «SQL server does not exist or access denied» несмотря на все настройки , доступность сервера и т.п. По текущим сводкам с полей проблему решает установка SP 3a.
Данный материал будет полезен пользователям, столкнувшимся с неточностями в работе программных продуктов на платформе 1С: Предприятие 8.
Наличие большого количества сообщений пользователей (администраторов компаний, клиентов) с просьбой о содействии в ликвидации крупных ошибок СУБД базы данных (ошибка SQL) в программе 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С — «АйТи-Консалтинг».