Ошибка выполнение операции невозможно так как том заблокирован

Содержание
1. Ошибка 1С: “Конфликт блокировок при выполнении транзакции”. В чем причина?
2. Ошибки в 1С из-за блокировок
2.1 Пример необходимой блокировки в 1С
2.2 Пример избыточной блокировки в 1С 
2.3 Как избавиться от избыточных блокировок в 1С

Ошибка 1С: “Конфликт блокировок при выполнении транзакции”. В чем причина?

Этот вопрос возник у нас на проекте по внедрению ЗУП2.5 с численностью 20000 и средним количеством одновременных пользовательских сессий 200.

На этапе опытной эксплуатации при расчете зарплаты пользователи начали интенсивно работать с документами «Начисление зарплаты сотрудникам организаций». Объем документов был порядка 2500 строк.  У пользователей начали появляться сообщения «Конфликт блокировок при выполнении транзакции», и расчет приходилось запускать заново.

1.png

Стали разбираться. Оказалось, мы столкнулись  с эффектом «Избыточной блокировки». Обычно этот эффект появляется при параллельном проведении документов, во время него самым первым документом блокируется большой объем записей регистров на все время проведения документа. Эта блокировка задерживает проведение остальных документов, мешает параллельной работе пользователей и замедляет рабочий процесс. Вообще блокировка данных при проведении документов вещь полезная, она сохраняет целостность данных и гарантирует правильность выполнения расчетных алгоритмов. Но бывает так, что либо объем заблокированных данных чрезмерен, либо время блокировки слишком велико. В результате мы имеем многопользовательскую систему, которая по сути является однопользовательской: вместо параллельного проведения документов — последовательное.

Ошибки в 1С из-за блокировок


Пример необходимой блокировки в 1С

Представим такую ситуацию – есть два документа «Начисление зарплаты сотрудникам организаций», в которых указан одинаковый налоговый период, а на закладке НДФЛ указаны одинаковые сотрудники. Рассмотрим случай, когда блокировка вообще отсутствует. Если последовательно запускать расчет этих документов, то в первом сумма НДФЛ посчитается правильно, а во втором будет равна нулю, т.к. рассчитанный и фактически начисленный НДФЛ на момент проведения второго документа будут совпадать.

 Но если запустить эти документы параллельно, то они одновременно начислят НДФЛ, не подозревая о существовании друг друга, и в результате налог удвоится. Если блокировка настроена верно, то первый документ, запущенный на долю секунды раньше второго, успеет первым прочитать и заблокировать данные о фактически исчисленном налоге в регистре «НДФЛ расчеты с бюджетом» по сотруднику Пушкину А.С. Из этого запроса будет видно, что фактический налог за январь пока не начислялся и значит надо выполнить движение по регистру. Блокировка будет отпущена только после завершения записи в регистр. Второй документ, дойдя до запроса чтения фактически начисленного налога будет поставлен системой на ожидание до тех пор, пока первый документ не закончит транзакцию проведения, после чего он прочитает в запросе, что налог уже начислен и движение по регистру выполнять не надо. Это необходимая блокировка.

Конечно, этот пример притянут за уши для простоты объяснения. На самом деле логика ЗУП 2.5 такова, что для задвоения НДФЛ пользователям не нужно прикладывать особых усилий. НДФЛ рассчитывается до проведения документа, а при проведении содержимое табличной части просто заносится в регистры без всякой проверки. Пользователям между расчетом и проведением предоставляется возможность посмотреть будущий результат и при необходимости поправить руками. Конечно это большой плюс в пользу гибкости ЗУПа, но предъявляет высокие требования к профессиональному уровню расчетчиков. Поэтому вопрос предотвращения задвоения НДФЛ решается организационным путем или с помощью дополнительных проверочных отчетов. Конечно, в ЗУП2.5 есть регистры, которые рассчитываются и записываются одновременно при проведении документа, например «НДФЛ к зачету», но этот пример пришлось бы дольше объяснять ;).

Пример избыточной блокировки в 1С

А теперь представим другую ситуацию. При проведении документа выполняется запрос, который должен отобрать документы, в которых присутствует сотрудник из этого документа. Но запрос написан так, что сервер SQL вынужден находить нужные документы методом перебора. Для технических специалистов это означает, что вместо CLUSTERED INDEX SCAN выполняется TABLE SCAN, т.е. вместо сканирования таблицы индексов происходит сканирование самой таблицы. Причем в процессе перебора блокируются все записи, к которым прикоснулся запрос, даже те, в которых не присутствуют искомые сотрудники. И эта блокировка будет действовать до конца завершения проведения документа, что будет препятствовать параллельному проведению документов с другими сотрудниками. Это избыточная блокировка.

Как избавиться от избыточных блокировок в 1С

Лечение избыточных блокировок может идти двумя путями. Первый — это оптимизация запросов, выполняемых внутри транзакций и добавление необходимых табличных индексов в конфигураторе. Второй — это перевод выполнения SQL-запросов на более низкий уровень изоляции, когда при выполнении запросов записи в таблицах блокируются только на момент выполнения самого запроса, либо не блокируются вовсе. А необходимые блокировки устанавливаются средствами объекта «БлокировкаДанных» и выполняются на стороне сервера 1С.

Теперь немного теории про уровни изоляции на SQL сервере:

1.      В автоматическом режиме в транзакциях используется уровень изоляции SERIALIZABLE. Этот уровень накладывает блокировки типа X (запрещает чтение и запись) до конца транзакции на все данные, которых коснулись запросы или произошла запись данных.

2.      В управляемом режиме в транзакциях используется уровень изоляции ReadCommitted. Этот уровень на записанные данные также устанавливает блокировки типа X до конца транзакции. Но при выполнении запросов на данные накладывает блокировки типа S (запрещает запись и проверяет нет ли в этот момент параллельных записей), при завершении запроса блокировки снимаются не дожидаясь завершения транзакции.

3.      Если база данных переведена в режим  ReadCommitted SNAPSHOT, то в управляемом режиме при чтении данных не накладывается блокировка типа S, есть только блокировка типа X при записи.

Тоже самое чуть более подробно в таблице:

Обычно лечение начинают с понижения уровня изоляции, т.к. это не особо трудозатратно и дает быстрый результат. Достаточно перевести конфигурацию из «Автоматического» режима управления блокировкой данных в «Управляемый», и транзакции начнут выполняться на уровне изоляции типа ReadCommitted, вместо SERIALIZABLE или Repeatable Read.

Чтобы переключить базу данных в режим READ COMMITTED SNAPSHOT (RCSI) необходимо в «SQL Server Management Studio» в свойствах базы данных установить параметр «Is Read Committed Snapshot On» в значение «True»:

2.png 

В некоторых источниках предлагают установить параметр «Allow Snapshot Isolation» в значение «True», но в этом нет необходимости, т.к. это приведет к включению другого режима изоляции SNAPSHOT, который не поддерживается платформой 1С (На момент написания статьи релиз платформы 8.3.9).

Режим управления блокировкой данных задается для неявных транзакций, которые выполняются при записи или при проведении документов, т.е. внутри  предопределенных процедур типа ПриЗаписи() или ОбработкаПроведения(). Но большинство «тяжелых» вычислений в типовой конфигурации ЗУП2.5 происходит при выполнении команды «Рассчитать». При этом в модуле объекта запускается процедура РассчитатьВсе(), внутри которой неоднократно повторяется конструкция НачатьТранзакцию() …ЗафиксироватьТранзакцию(). Это явно указанные транзакции, внутри которых происходит запись и очистка регистров и выполняются запросы. Нам необходимо убедиться, что при переключении конфигурации в управляемый режим в процедуре «РассчитатьВсе()» транзакции также начинают выполняться на уровне ReadCommitted.

Для этого проведем небольшой эксперимент: 

• Запустим SQL Server Profiler.

• Запустим «NEW TRACE».

• Выполним подключение к серверу SQL.

• В окне «Trace Properties» на закладке «General» выберем «Use the template» = «Blank», а на закладке «Events Selections» раскроем группу «Stored Procedures» и выберем «RPC:Complited». По кнопке «Column Filters» укажем имя базы и длительность выполнения запросов более 1.

3.png 4.png 
• Кнопку RUN пока нажимать не будем, т.к. нам надо сначала запустить базу данных в режиме отладки и остановить выполнение расчета документа «Начисление зарплаты сотрудникам организаций» перед выполнением самого массивного запроса. Например, это будет команда
«Результат = Запрос.ВыполнитьПакет();» в функции «ПолучитьДанныеНДФЛПоРегистратору» в общем модуле «ПроведениеРасчетов». Здесь происходит выполнение основного запроса для расчета НДФЛ. Поставим на ней точку останова отладчика и запустим расчет в документе.
5.png
·         После того как отладчик остановится, нажмем кнопку RUN в Профайлере.

·         Теперь сделаем один шаг в отладчике кнопкой F11. Когда запрос будет выполнен и отладчик перейдет на следующий шаг, остановим чтение Профайлера кнопкой «Pause Selected Trace».

·         Теперь найдем самый длительный запрос по колонке Duration и внимательно изучим текст запроса. Если при обращении к реальной (а не временной) таблице после слова WITH стоит SERIALIZABLE, то мы имеем дело с автоматическим режимом блокировки. Если ничего не стоит – то с управляемым.

6.png 7.png 

Если в хинте запроса (Hint – это параметр после слова WITH, позволяющий влиять на план выполнения запроса) не указан уровень изоляции, то выполняется уровень изоляции, установленный по умолчанию для текущей SQL-сессии. Определить уровень изоляции, действующий по умолчанию для текущих сессий можно в «SQL Server Management Studio» с помощью команды

SEL ECT CASE transaction_isolation_level 

WHEN 0 THEN ‘Unspecified’ 

WHEN 1 THEN ‘ReadUncommitted’ 

WHEN 2 THEN ‘ReadCommitted’ 

WHEN 3 THEN ‘Repeatable’ 

WHEN 4 THEN ‘SERIALIZABLE’ 

WHEN 5 THEN ‘SNAPSHOT’ END AS TRANSACTION_ISOLATION_LEVEL 

FR OM sys.dm_exec_sessions

В управляемом режиме для всех сессий будет указан режим ReadCommitted.

Таким образом мы получили экспериментальное подтверждение того, что после перевода в управляемый режим всей конфигурации, в этом режиме начинают работать не только процедуры записи и проведения, но и процедуры расчета документов ЗУП. А это значит, что количество сообщений о конфликте блокировок будет существенно снижено, а параллельность работы с базой данных увеличится.

После того, как включили управляемый режим блокировки мы должны убедиться, что избавившись от избыточных блокировок, мы не ушли в другую крайность и не потеряли необходимые блокировки, которые защищают систему от нарушения целостности данных при активной параллельной работе пользователей.

Настройка  управляемых блокировок – это тема для отдельной статьи. Вкратце скажу, что программно управляемые блокировки устанавливаются с помощью объекта «БлокировкаДанных». Сами управляемые блокировки работают уже не на уровне SQL сервера, как в случае с автоматическими блокировками, а на уровне сервера 1С. Для определения необходимых и достаточных управляемых блокировок надо понимать логику программы одновременно на уровне бизнес-процессов и на уровне архитектуры таблиц СУБД.

Но на мой взгляд, для таких конфигураций, как ЗУП2.5 вообще нет смысла использовать какие-либо блокировки, лучше использовать проверочные отчеты для выявления нарушения целостности данных — на практике это самый быстрый способ расчета зарплаты. Особенно на крупных предприятиях, где точно есть сотрудники с внутренним совмещением в обособленных подразделениях, а за каждым ОП закреплен отдельный расчетчик, что и является причиной задвоения НДФЛ. Какой бы не был вышколенный персонал, сама идеология конфигурации допускает возможность задвоения НДФЛ. Поэтому лучше не мешать пользователям работать параллельно во время массированных месячных расчетов, а по завершении точечно и быстро исправить небольшой процент ошибок, чем заставлять их сидеть и нервничать в очереди из-за страха допустить хотя бы одну ошибку. В этом проекте мы использовали самописный отчет «Проверка НДФЛ», который отображал сотрудников с некорректным НДФЛ.

Так же на этом проекте мы столкнулись с эффектом «Эскалация блокировок», когда SQL сервер сам принимает решение, что надо укрупнить область наложения блокировок вплоть до блокировки целиком всей таблицы. В результате работа пользователей останавливается, и все ждут завершения проведения одного документа – виновника эскалации, либо когда по таймауту снимутся взаимные блокировки, либо произойдет перезагрузка сервера. В каких случаях возникает эскалация и как с этим бороться тоже тема для отдельной статьи.

Валерий Федоров

Руководитель проектов ООО “Кодерлайн”

1С представляет собой сложную систему, в которой есть огромное количество настроек, особенностей и нюансов. А чем сложнее система, тем выше вероятность возникновения ошибок и проблем, решать которые приходится бухгалтерам, кассирам и другим сотрудникам, которые работают на 1С. Либо можно дождаться программиста 1С. Хорошо, если в компании есть свой IT-отдел, когда программисту достаточно только перейти на другой этаж, чтобы решить вашу проблему. Но если этого нет, то приходится ждать решения проблемы долгое время, ожидая специалиста со стороны.

В этой статье мы рассмотрим появление ошибки «Конфликт блокировок при выполнении транзакции» в 1С 8.3. Вы узнаете, как можно попытаться исправить её самостоятельно и быстро, без ожидания стороннего специалиста.

Программа 1С

Содержание

  1. От чего возник конфликт блокировок проведения транзакции
  2. О конфликте блокировок при выполнении транзакции вы также можете узнать в видео ниже:
  3. Перевод управления блокировками в ручной режим
  4. Отключение других пользователей от 1С
  5. Как сделать, чтобы ошибка конфликта блокировок при выполнении транзакции больше не появлялась в 1С 8.3

От чего возник конфликт блокировок проведения транзакции

Как было уже сказано: 1С — это сложная система. И она усложняется тем больше, чем больше количество её пользователей в компании. Чем больше сотрудников обращаются к общему серверу 1С для выполнения своей работы, тем больше операций нужно выполнять системе одновременно, и тем выше вероятность появления ошибок.

Когда речь идёт о серверной версии в большой компании, одновременно работать с документами может десятки и даже сотни сотрудников. Среди этих людей могут быть и те, кто работает с документом, например, касающимся одного сотрудника. Допустим, один начисляет ему зарплату, второй налоги, третий высчитывает больничный. Для того, чтобы гарантировать правильность таких вычислений, система 1С будет работать с документами по отдельности, в разное время, даже если сотрудники выполняют операции одновременно.

Вам может быть это интересно: Преобразование значения к типу Число не может быть выполнено 1С 8.3 — как исправить?

Таким образом, один сотрудник начислит зарплату и проведёт документ. Пока система не вычислит это, документ второго сотрудника, который насчитывает налог, не будет проведён и окажется в очереди, то есть временно заблокированным. Когда третий сотрудник насчитает выплаты по больничным, он также встанет в очередь на проведение, после документа по начислениям зарплаты и налогов, то есть тоже будет временно заблокирован.

Так вот, когда этих блокировок становится слишком много, когда время блокировки увеличивается до неадекватного, 1С выдаёт ошибку конфликта блокировок при проведении транзакции. Зная природу этой проблемы, можно попытаться решить её.

Конфликт блокировок при выполнении транзакции

О конфликте блокировок при выполнении транзакции вы также можете узнать в видео ниже:

Перевод управления блокировками в ручной режим

Ручной (или управляемый) режим отключит у системы необходимость включения блокировок документов, если им пользуется два или более сотрудников одновременно. Таким образом, сообщение о конфликте блокировок при выполнении транзакции исчезнет и всё заработает.

Включение ручного режима

Но ведь блокировки устанавливаются не просто так. Как мы описали выше, они необходимы для того, чтобы гарантировать верное вычисление всех документов. Поэтому, с переводом управления блокировками в ручной режим вы не только избавитесь от конфликта блокировок транзакции, но ещё и увеличите риск появления неверных вычислений.

Метод подходит в случае, если решить проблему нужно срочно, и вероятность ошибок вычислений низка. Например, если есть возможность попросить всех сотрудников, имеющих доступ к 1С, временно не пользоваться программой и не проводить никакие документы.

Чтобы исключить риск неправильных вычислений, лучше всего проверить после этого всё вручную.

Отключение других пользователей от 1С

  1. Как мы поняли выше, «Конфликт блокировок при выполнении транзакции» вызываются тем, что несколько пользователей работают с одним документом.
  2. Таким образом, если этих пользователей отключить, то можно будет снять очередь на проведение документов и и провести свой документ, который ранее был заблокирован.
  3. Этот метод подойдёт в том случае, если у вас в системе 1С есть права на просмотр пользователей, работающих с тем же документом, что и вы, и возможность завершения их сеансов.
  4. Завершив их сеанс, вы можете провести свои вычисления без блокировок.

Тут также есть риск появления ошибок. Ведь другие пользователи в момент завершения их сеансов, могли выполнять какие важные операции в документе. И после их выхода их системы эти вычисления останутся незавершёнными и не сохранёнными.

И также рекомендуется всё проверить после завершения проводки.

Как сделать, чтобы ошибка конфликта блокировок при выполнении транзакции больше не появлялась в 1С 8.3

Описанные выше два способа подходят лишь как временные варианты, как говорится «поставить систему на костыли». То есть, можно быстро решить проблему, чтобы выполнить срочные действия, но всегда так делать не получится. Не будете ведь вы всегда переводить систему в ручной режим с рисками для вычисления операций, и не станете каждый раз отключать сеансы других пользователей, которые тоже могут быть заняты важной работой

Программист 1С.

Чтобы навсегда избавиться от конфликта блокировок при выполнении транзакции, следуют уже пригласить программиста, так как для этого потребуется специальный опыт.

Проблема может заключаться в следующем:

  • Система не оптимизирована и посылает к базе данных слишком большое количество запросов, которые нагружают её;
  • Система запрашивает остатки вначале вычислений;
  • В системе установлены излишние блокировки, которые срабатывают тогда, когда не нужно.

Могут быть и другие причины.

1С – крайне сложная система, имеющая в распоряжении большое количество самых разных настроек, нюансов и особенностей функционирования. И многие знают, что сложность системы прямо пропорциональна количеству всевозможных ошибок и проблем, которые должны решать программисты, техники, кассиры, бухгалтеры и иные должностные лица, чья работа связана с 1С.

Хорошо, если в организации, использующей систему 1С, есть собственный IT-отдел, ведь в таком случае программисту достаточно лишь перейти в нужный кабинет или этаж, чтобы исправить ситуацию. А если его нет, то как решить проблему с, к примеру, конфликтом блокировок при совершении транзакции?

1c

1c

Содержание

  • 1 Из-за чего появляется конфликт
  • 2 Распространенные причины конфликта блокировки в 1С
  • 3 Неверно написанная конфигурация
  • 4 Ручное управление блокировками
  • 5 Отключение пользователей
  • 6 Можно ли быстро разрешить конфликт блокирования
  • 7 Заключение

Из-за чего появляется конфликт

Помимо того, что сложность системы прямо пропорциональна количеству ошибок, количество и сложность ошибок напрямую зависит от того, сколько именно пользователей работает в системе. Чем чаще и больше работников юридического лица обращается к одному на всех серверу 1С по работе, тем больше система должна выполнить операций, что и влияет на частоту и сложность ошибок.

Если дело касается серверной 1С версии в большой организации, в ней могут одновременно работать несколько десятков или сотен человек, причем иногда могут быть ситуации, при которых двое или большее количество работников обращаются к одному и тому же документу. К примеру, один сотрудник начисляет работникам зарплату, второй высчитывает налоги, третий занимается расчетом больничного. Для правильности подобных вычислений система 1С позволяет работать с документами (или одним документом) в разное время даже при одновременном выполнении операций.

Если говорить проще, то в рамках рассматриваемой ситуации первый работник начисляет зарплату и после этого проводит документ. Пока система 1С не определит это, документ, с которым работает следующий сотрудник (это тот, который занимается высчитыванием налогов), не будет проводиться внутри системы и будет стоять в очереди (сама система при этом временного его заблокирует). И третий работник, который выплачивает больничные, также будет находиться в очереди.

В том случае, если таких очередей и связанных с ними блокировок очень много, время блокировки каждого последующего документа будет увеличиваться до совсем астрономических показателей. И как раз в таком случае система 1С будет выдавать ошибку конфликта блокировок при совершении транзакции. Однако появление такого конфликта в системе может быть связано и с другими причинами.

Конфликт блокировок при проведении транзакции

Конфликт блокировок при проведении транзакции

Среди основных причин можно выделить:

  1. Слишком большое количество одновременного выполняемых операций. Помимо основной причины, описанной выше, проблема может касаться и запущенного у кого-то из работников процесса обработки данных по массовому изменению. Может быть, кто-то запустил групповое проведение документов, закрытие месяца и иные процедуры. Если причина кроется в этом, то проблема разрешится сама по себе – сразу после того, как групповое проведение данных закончится.
  2. Регламентные задания. Также частой причиной появления конфликта является появление регламентное задание, в рамках которого обрабатывается очень много самых разных информационных данных. Для того, чтобы подобных проблем в течение рабочего дня не было, стоит выполнять регламентные задания ночью.
  3. Зависший сеанс. Не менее распространенная проблема «зависших сеансов» пользователей известна практически любой компании, работающей в 1С. Суть ее кроется в том, что пользователь мог уже давным-давно выйти из программы или же завершить работу с каким-либо документом, но сама система все равно не отключает его и думает, что он все еще находится внутри системы. Подобная проблема носит единичный характер и может быть разрешена с помощью администраторской консоли. Также та же проблема может появится при выполнении фоновых заданий. Еще, согласно комментариям, ситуации с зависшим сеансом встречаются при применении сетевых защитных ключей. Если «зависание» повторяется время от времени, необходимо проверить обслуживание серверов и системы.

Перечисленные причины и основные методы их решения являются самыми распространенными.

Неверно написанная конфигурация

Различные типовые конфигурации создаются экспертами и специалистами с соответствующей классификацией. При этом каждая созданная система тестируется и оптимизируется для достижения максимально быстрой и корректной работы.

Но нельзя отменять и человеческий фактор, поэтому иногда проблема может заключаться в неправильном, неоптимизированном или просто забагованном коде, в особенности если его написал неопытный или сторонний разработчик.

Ошибка может крыться в тяжелом запросе, который при активации будет «тормозить» или вовсе блокировать данные на некоторое время. Также частым являются случаи формирования алгоритмов с недостаточной производительностью или с нарушением компьютерной логики.

Один из факторов того, что проблема кроется именно в неправильном коде – это то, что программа перестала работать как надо не спонтанно, а после одного из обновлений. В качестве средства проверки в таком случае можно откатить версию или заняться рефакторингом кода.

Ручное управление блокировками

При желании пользователь (лучше, чтобы это был администратор) может отключить в системе 1С функцию включения блокировок рабочих документов даже в том случае, если этими документами пользуется одновременно 2 или большее количество сотрудников. В таком случае проблем, связанных с конфликтом блокировок, не будет.

Однако не стоит торопиться и сразу отключать функцию блокирования, ведь существует и активна данная функция не просто так. Она существует и активна по умолчанию для того, чтобы программа успевала выполнять вычисления любых документов и гарантировала корректный результат этих вычислений. Поэтому функцию блокирования стоит отключать лишь в том случае, если сотрудники, работающие с финансовой документацией, подойдут к работе ответственно и будут осознавать возможные риски появления неправильных вычислений.

Методика ручного отключения блокировки подойдет в том случае, если обработать документ и решить проблему необходимо максимально оперативно, а вероятность того, что что-то пойдет не так, или вычисления будут неверными, снижена до минимальной. В таком случае можно, к примеру попросить всех работников, использующих 1С, временно перестать им пользоваться. А еще можно отключить их на время.

Ручной режим

Ручной режим

Отключение пользователей

Как и было отмечено выше, конфликт блокировки при совершении транзакции может быть вызван тем, что один и тот же документ обрабатывается несколькими пользователями. А это значит, что если отключить всех пользователей от системы или документа на некоторое время, один из пользователей сможет быстро провести документ. Правда, это может сделать только тот пользователь, у которого в 1С есть право на просмотр всех тех пользователей, которые на данный момент работают с определенным документом, а также право на завершение сеансов таких пользователей.

Однако и здесь есть риск (пускай и небольшой) того, что проблема снова появится. Появиться она может в том случае, если хотя бы один пользователь на момент его временного отключения от документа выполнял какие-либо важные операции и вычисления в финансовом документе.

Можно ли быстро разрешить конфликт блокирования

Если посмотреть на анализируемую проблему со стороны разработчика или сисадмины, стоит отметить, что всегда и на любом предприятии может произойти ситуация, при которой практически нет времени на проверку появляющейся ошибки и на поиски проблем. К примеру, если нужно «здесь и сейчас» сдать какой-нибудь отчет в бухгалтерию или подать какие-либо данные к определенному часу. В таком случае можно воспользоваться быстрым решением.

Для того, чтобы быстро разрешить конфликт, связанный с блокированием 1С, можно пойти по одному из двух путей:

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

Однако оба решения являются радикальными и могут помочь только при быстром решении проблему (если это необходимо), ведь при их использовании часть данных документа, из-за которого произошел конфликт, может быть утеряна. Поэтому на постоянной основе такие меры лучше не использовать. Лучше вместо этого попробовать найти первопричину появления конфликта и устранить ее.

Заключение

Конфликт блокировок – достаточно распространенная проблема при выполнении работы с 1С, в особенности если речь идет о большой компании. Существует множество способов решения проблемы – как эффективных, так и экстренных. Оптимальный и правильный вариант действий при любой проблеме с 1С – обратиться к специалисту.

Не редко при работе в 1С возникает ошибка «Конфликт блокировок при выполнении транзакций: Превышено максимальное время ожидания предоставления блокировки». Суть ее кроется в том, что несколько сеансов пытаются одновременно выполнить похожие действия, затрагивая один и тот же ресурс. Сегодня мы разберемся как исправить данную ошибку

Большое количество выполняемых операций

Первым делом при поиске причин следует уточнить, сколько же одновременно работающих пользователей находится в той информационной базе, в которой выдается подобная ошибка. Как мы знаем, максимальное их количество может быть довольно большим. Это и тысяча, и пять тысяч.

Механизм блокировок и транзакций описан в руководстве разработчика. Их используют при обращении нескольких сеансов к одним и тем же данным одновременно. Логично, что одни и те же данные не могут изменяться разными пользователями в один и тот же момент.

Так же следует проверить, не запущено ли у кого-то из пользователей обработки по массовому изменению данных. Это может быть как , закрытие месяца и тому подобное. В таком случае после окончания работы обработки ошибка пропадет сама по себе.

Регламентные задания

Не редки случаи, когда причина ошибки кроется в , которое обрабатывает большое количеств данных. Рекомендуется подобные вещи делать ночью. Задайте расписание выполнение таких регламентных заданий во внерабочее время.

Таким образом, и пользователи будут работать в стабильной системе, и сами регламентные задания будут завершаться успешно, так как снизится вероятность возникновения конфликтов с пользовательскими сеансами.

«Зависшие сеансы»

Проблема «зависших сеансов» пользователей знакома практически каждому, кто сталкивался с обслуживанием 1С. Пользователь мог уже давно выйти из программы, или закрыть какой-либо документ, но его сеанс по-прежнему остается в системе. Проблема чаще всего единичная и достаточно завершить подобный сеанс через консоль администратора. Такие же проблемы могут возникнуть и с фоновыми заданиями.

По многочисленным комментариям на просторах интернета подобные ситуации чаще встречаются при использовании сетевых ключей защиты. Если ситуация с «зависающими сеансами» повторяется систематически, это причина произвести тщательную проверку и обслуживание системы и серверов (если база клиент-серверная).

Ошибки при написании конфигурации

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

В связи с этим причина ошибки может крыться в неоптимальном коде, написанном сторонним разработчиком. Это может быть «тяжелый» запрос, который будет блокировать данные на длительный промежуток времени. Так же нередки случаи построения алгоритмов с низкой производительностью и нарушением логики.

Большая вероятность, что конфликт блокировки возник именно из-за ошибок разработчика, если он возник после обновления программы. Для проверки можно просто «откатить» доработки, либо произвести рефакторинг кода.

Что такое блокировки в 1С, зачем они нужны и как избежать проблем при работе с ними

Наверняка многие из Вас при использовании информационных систем 1С Предприятие (1С 7.7, 1С 8.1, 1С 8.2, 1С 8.3) сталкивались с таким явлением, как блокировки. Причем, как правило, все называют это явление по-разному: «Блокировки 1С», «Конфликт блокировок 1С», «Ошибки блокировок 1С», «Блокировки транзакций 1С» и прочие названия. Давайте кратко разберемся в том, что такое блокировки (не взаимоблокировки), зачем они нужны и как избежать проблем при работе с ними.

Сами по себе блокировки (в том числе в 1С и в других системах) полезный инструмент, который обеспечивает возможность последовательной работы с общими ресурсами. Для примера, понятие «общие ресурсы» окружает нас по жизни, например, пока Вы управляете автомобилем никто другой не может им управлять. Следовательно, автомобиль – общий ресурс. А второй водитель ожидает пока Вы приедете, например, Ваша жена/муж. Вы оба конкурируете за общий ресурс – автомобиль. Кто будет управлять автомобилем в текущий момент Вы определяете на понятийном уровне, а как нам быть в автоматизированных системах??? Для этого и придумали инструмент блокировки
, которые обеспечивают организацию процесса доступа к общему ресурсу и определяют очередь. Как правило в жизни, как и в информационных системах (1С 7.7, 1С 8.1, 1С 8.2, 1С 8.3), общих ресурсов очень много, поэтому и блокировок тоже много. Теперь второй важный момент – как долго будет ждать освобождение вашего автомобиля жена/муж, логично предположить, что не вечно. Поэтому для блокировок задается предельное время ожидания – иначе время таймаута. Таймаут — это максимальное время ожидание конкурирующим участником (вашей жены/мужа) освобождения общего ресурса. Дальше либо он продолжает ждать еще такое же время, либо идет пешком. В информационных системах 1С истечение таймаута заканчивается сообщением «Конфликт блокировок 1С», «Ошибки блокировок 1С», «Блокировки транзакций 1С», «Таймаут при блокировке».

Важная деталь, которую также следует помнить, блокировки (в частности в 1С) бывают явные (задаются пользователем) и неявные (задаются платформой SQL). В статье мы говорим о явных блокировках, поэтому они всегда используются в транзакции, отсюда выходит, что «Блокировка 1С» и «Блокировка транзакций 1С» синонимы.

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

  • Множество блокировок 1С в транзакции;
  • Длительность транзакции.

Для минимизации сообщений, связанных с ошибками блокировок, необходимо либо уменьшать множество блокировок (оптимизировать селективность), либо уменьшать длительность транзакций.
Теперь определимся каким образом на эти показатели можно влиять в реальной информационной системе 1С.

Для уменьшения множества блокировок:

В 1С:Предприятие 7.7:



Информационная система 1С 7.7. для блокировок используют табличные блокировки, которые парализуют работу пользователей. Как правило более 50 человек в одной базе данных не могут безошибочно работать, при этом проблемы могут появляться и в базах данных от 20 пользователей.
Решение:

  • Гибкие блокировки 1С от компании «Софтпоинт». С их помощью вы не только оптимизируете множество блокировок (замена табличных блокировок на пользовательские), но и ускорите подборы, поиски и отчеты.

В 1С:Предприятие 8.x:



Информационная система 1С 8.1., 1С 8.2., 1С 8.3. в автоматическом режиме использует избыточные блокировки вида (REPEATABLEREAD, SERIALIZABLE). Это приводит к ухудшению работы пользователей от 100.
Решение:

  • Управляемые блокировки 1С – встроенное средство платформы 1С для более селективной настройки блокировок. Чтобы его использовать, программист должен сам прописать в нужных местах кода специальные операторы, чтобы заблокировать нужные (по его мнению!
    ) записи в таблицах информационной системы;
  • Гибкие блокировки 1С – технология компании Софтпоинт для замены стандартных блокировок на пользовательские.

Для уменьшения длительности транзакций:

Для любых информационных систем 1С (1С 7.7., 1С 8.1, 1С 8.2, 1С 8.3) как и для других информационных систем применяется схожие подходы:

    Проверка и правильная настройка регламентного обслуживания базы данных (обслуживание файлов, индексов, статистик, базы временных таблиц, настройка Windows и SQLServer);

    Анализ и оптимизация тяжелых запросов 1С и SQL (индексный тюнинг, переписывание запросов);

    Проверка на избыточность транзакций. Во многих случаях необоснованно в транзакцию включают операции не осознавая, как это повлияет на длительность, а вместе с ней на производительность.

  1. Если Вы хотите самостоятельно разбираться с техническими проблемами производительности 1С (1С 7.7, 1С 8.1, 1С 8.2, 1С 8.3) и других информационных систем

    , то для Вас уникальный список технических статей в нашем Альманахе (Блокировки и взаимоблокировки, большая нагрузка на CPU и диски, обслуживание баз данных и индексный тюнинг — лишь малая часть технических материалов, которые Вы там найдете).
  2. сли Вы хотите обсудить с нашим экспертом проблемы производительности или заказать решение мониторинг производительности PerfExpert
    , то оставьте заявку и мы свяжемся с Вами в кратчайшие сроки.

Вопрос: УТ11.1. Пакетное создание Реализаций. Конфликт блокировок

Добрый день! Конфигурация УТ11.1. Клиент-серверный вариант. Настройки 1С Сервера и SQL Сервера по умолчанию. Программно формируем реализации. На этапе записи документов периодически возникает конфликт блокировок. Подскажите каким образом решаются подобные вопросы? Используются транзакции c управляемыми блокировками? Заранее спасибо.

Ответ:

не надо выключать) переведи их на ночь — там может и расчет себестоимости и индексы поиска считаются.

Вопрос: Конфликт блокировок при выполнении транзакции

Каждый день почти в одно и тоже время при проведении документа на 5-10 минут выскакивает данная ошибка 1С 8.3.10.26.99 УТ11(11.4.1.261):

Конфликт блокировок при выполнении транзакции:

Microsoft Sql Server Native Client 11.0: Превышено время ожидания запроса на блокировку.

HERESULT=80040E31, SqlServer: SQLSTATE=HYT00, state=38, Severity=10, native=1222, line=1

Подскажите от куда начинать копать?

Ответ:
() Включи профайлер в это время на события Lock:Acquired и Lock:Escalation. Потом доложи что поймал.

Вопрос: Восстановление базы (конфликт блокировок)

Добрый день. База помирает. Серверная.

Выяснилось не сразу, т.к. все работало кроме документа сф выданный. А его не так часто создают. Поэтому бекап не актуален (прошло уже видимо несколько дней), пытались разворачивать копию 2х дневной давности — полдня было нормально, а потом вылезла та же проблема.

Симптомы: при попытке отмены проведения сф получаем конфликт блокировок, даже если один пользователь в базе. ТИИ (проверка логической и ссылочной целостности) валится с конфликтом блокировок, создание бекапа через sql management studio — то же («Превышено время ожидания типа кратковременной блокировки буфера 3 для страницы»).

Хотим попробовать залить cf недельной давности, но что-то надежд мало.

Ответ:
тут проблемы с сервером баз данных, а не 1С, версий конфигурации и пр. ни при чем.

Возможно не обслуживаемый скул жил как мог покуда хватало ресурсов, а теперь у автора начинается новый этап освоения знаний.

Если размер позволяет — выгружайте в файловую и начинайте изучать sql глубже.

Вопрос: УТ10. Конфликт блокировок

Добрый день! Клиент-серверный вариант. Мне досталась в наследство сильно доработанная конфигурация БитАвто (автосервис на базе УТ10). В обработчике проведения документа «заказ-наряд», основного для мастеров-приемщиков и менеджеров, завернуто формирование подчиненных документов (реализация, счет-фактура, требование накладная), расчет з/п механиков, резервирование товара, если новый документ, то создание заказа-покупателя и еще некоторый функционал. База выросла и часто стал возникать конфликт блокировок. По выходным, когда народа меньше конфликтов нет.

Подозреваю, что при таком количестве анализа, во время проведения документ, длительное время блокирует какой-нибудь журнал документов, хотя вроде полностью блокируется журнал заказов.

Если обработчиком кнопки «Ок» сделать свою процедуру, где последовательно запускать «ОбработкаПроведения», а потом процедуру, например, СформироватьПодчиненныеДокументы, затем РассчитатьЗарплату и т.п. Не уверен, что такой вариант поможет. Добавлять кнопки на которые навешивать формирование документов не подойдет, т.к. пользователи будут забывать про нее.

Ответ:

Zerro
vde69,

Дак это наверное какая-нибуть Раруская фигня

Нет, это не Рарус, это БитАвто

Вопрос: 1c конфликт блокировок при открытии формы документа

УПП
С недавнего времени раз в 2-3 дня возникает блокировка на документе Требование-накладная. Т.е. ни один документ этого типа не открывается. Все время
Другие документы работают нормально.
В отладчике проблем не нашел, ни в одном модуле не успевает остановиться — сразу конфликт блокировок.
Я подозреваю какую-то проблему в SQL.

Ответ:

Проблема была в не завершившемся задании обслуживания индексов.

Вопрос: ошибка SQL2000 в процессе выполнения транзакции в 1С77

в MSSQL база 1С77(релиз 27) ТиС. Регулярно при выполнении проводок выскакивает ошибка:

При выполнении транзакции произошла ошибка!
SQL State: HYT00
Native:0 Message: Время ожидания истекло.

в итоге провести документ не удается. Это может длиться 20 мин., а может и 1 час.
Как с этим бороться, где копать?

С Уважением,
Steve242

К сообщению приложен файл. Размер — 21Kb

Ответ:

штатный perfmonitor винды показал что на Терминальнике идет адовая загрузка системного диска C:.
Все остальное: Память, CPU — на обоих серверах(терминальник и скуля) практически никаких аномальных всплесков не отображает.

я создал RAMdrive на 2Gb (из 12Gb, имеющихся на терминальном сервере физически) и пытаюсь перенаправить туда tempовые системные каталоги профилей пользователей терминала.
пока как-то так.

Вопрос: Еще раз, про Конфликт блокировок при выполнении транзакции

Проблема описана хорошо на форумах. Но для моего случая Решения не видел. Опишу мою проблему пошире.
УПП 1С:Предприятие 8.2 (8.2.19.90) редакция 1.3 (1.3.74.1)
возникает ошибка такая ошибка…. Везде. Почти при проводке каждого документа.
А Эта, ниже при…- выгрузике информационной базы в.Конфигураторе

Понятно, что это не простое блокирование документа. Даже опишу начало возникновения этой проблемы. На ночь поставил Перепроводку документов за квартал.
Она закончилась ошибкой

Все после этого ПРОВОДКИ ЛЮБЫХ ДОКУМЕНТОВ приводит в ошибки блокировки.
Думаю что проблема в MSSQL . Помогите, кто встречался с этой проблемой. Может
поможет переход на новую версию.

Ответ:

попробуйте сделать dbcc checktable with no_infomsgs для таблицы этого регистра. По идее должны быть ошибки

Вопрос: Блокировки при подписке на РТиУ

Коллеги подскажите. Конф Упп 1.3.
Компания включает несколько фирм. Пусть фирма 1 — главная, фирма 2 — продажная. Есть подписка на проведение РТиУ в момент, когда из фирмы 2 происходит продажа внешним контрагентам. Подписка создает автоматическую перепродажу(из фирмы 1 в 2): создается еще одна РТиУ и расходный ордер, плюс создает поступление товаров и услуг в фирму 2.
Плюс я сделал еще подписку на эту РТиУ в момент перепродажи просто происходит запись в свой регистр определенных данных.

Так вот периодически у пользователя, который делает реализацию внешним контрагентам — происходит конфликт блокировок при выполнении транзакции. Главное день может не быть проблем — все проводится, а бывает просто пользователь замучает: не проводится и все(конфликт блокировок), регламентные в этот момент не выполняются(если выполняются, понятно что блок из за них). Я полагаю дело в подписках, т.к. проблема возникает у юзера, который как раз делает продажу из фирмы 2.
Как оптимизировать этот момент?
Подписки выполняются после события, как они могут влиять? Не могу понять, где косяк. Вообще все события происходят неявно в 1 транзакции? Может перепродажу надо сделать в другой надо? И вообще косяк в самом доке РТиУ или все таки в перепродажах(других РТиУ, РО, ПТиУ), которые создаются автоматом, как понять?

Ответ:

У меня только при закрытии бывает тр-тр-тр, видимо какой-то замок не «понимает» что он закрылся и тыркает сам себя N-ное число раз.

Вопрос: Linux, Postgres, Розница 2.0.5.1 Украина РИБ по магазину — ошибка блокировки…

Может кто-то подскажет? Настраиваю обмен по магазину. Все нормально работает, руками получается делать обмен. 4-5 сообщений пересылаются. Потом настраиваю сценарий по расписанию и начинаются качели… Первая ошибка:

«Ошибка записи данных в файл сообщения обмена: {Обработка.КонвертацияОбъектовРаспределенныхИнформационныхБаз.МодульОбъекта()}: Error calling context method (ЗаписатьИзменения): Lock conflict during the transaction:

Maximum idle time for lock access has been exceeded due to the wait for the session»

Все последующие:

«Ошибка записи данных в файл сообщения обмена: {Обработка.КонвертацияОбъектовРаспределенныхИнформационныхБаз.МодульОбъекта()}: Ошибка при вызове метода контекста (ЗаписатьИзменения): Конфликт блокировок при выполнении транзакции:

Превышено максимальное время ожидания предоставления блокировки»

Ни переиндексация, ни закрытие сеансов не помогает. Блокировок в 1С не стоит. Помогает только удаление базы и создание снова.

Как я понял блокировка проходит в СУБД? Использую Postgress на Linux, 1 база, 4Гб оперативки. Если я прав, вопрос — Неправильно настроен Postgress или нехватка памяти? Или может вообще проблема не в этом?

Ответ:
() Так то свежий — это 8.3.10.2375

Вопрос: Ошибка блокировок при очистке регистра сведений

Запросом выбираю записи РС, далее:

НаборЗаписей.Загрузить(РезультатЗапроса.Выгрузить());
НаборЗаписей.Очистить();
НаборЗаписей.Записать();

При попытке записать вываливается ошибка:

«Конфликт блокировок при выполнении транзакции».

Регистр не периодический, регистратору не подчинен.

В чем причина ошибки?

Ответ:
()»Я почему-то был уверен, что отбор применяется только в момент чтения, а записывается соответственно то, что попало в отбор.» — где у тебя в коде хоть раз используется слово «отбор»?

Всем привет!

На днях на работе столкнулся с проблемой блокировок, а именно стало появляться сообщение «Конфликт блокировок при выполнении транзакции. Превышено максимальное время ожидания предоставления блокировки».

Очевидно, что здесь нет проблемы взаимоблокировок, здесь просто какой-то сеанс поставил блокировку и «забыл» убрать. При этом проблема грозила серьезными последствиями — не проводился документ Реализации товаров и услуг. В базе единовременно работает около 100 человек, и невозможно выполнить типовую и частую операцию!

Решения было два — перезагрузка сервера или поиск сбойного сеанса. Первое решение простое и быстрое, но, как здесь уже кто-то писал — ребутать сервер можно до тех пор, пока тебя не уволят. Решил пойти по второму пути.

Первый день — проблема появилась днем, поначалу казалось, что проблема в удаленном пользователе, который засел в Конфигураторе. Было похоже, что просто выполнение остановилось на точке, и блокировка, естественно, не снялась. Через пару часов удалось освободить конфигуратор, но проблема не ушла. Убивать принудительно конфигуратор было крайне нежелательно, возможно, в нем работали. После этого в ход пошел гугл. Нашел статью на этом сайте, в которой пишется, как найти блокировки в СУБД MS SQL, проверил, блокировок на уровне СУБД не было. Странно. Далее были попытки настроить тех. журнал. Настроил, а дальше что? За 15 минут пара гигов логов! Как их читать, что искать? Неизвестно.

Нашел статью, как посмотреть, что заблокировано через SQL Trace. Да даже если найду, дальше что? Мне нужен сеанс!

Ближе к 16:00, когда я понял, что дальше тянуть нельзя, я сделал ребут. В надежде, что такого больше не повторится (а это был первый случай за полгода работы), вздохнул с облегчением, все заработало. А зря… Второй день — та же ситуация. Копался часа полтора, опять непонятные попытки гуглить и прочее. Без результатов. Ребут. Под конец дня произошло еще раз. Ну, думаю, замечательно, спокойно приеду домой и посижу, поковыряюсь. Приезжаю домой, все уже нормально. Печально.

На третий день глянул вебинар, рассказали про интересный и эффективный способ поиска проблемы. Запомнил, но проблема больше не возникала. Прошла неделя и вот оно — опять блокировки! Потираю руки и начинаю действовать.

Первое — настраиваем журнал. Да, без него никак, но теперь я умею его читать. Ставим два события: первое TLOCK, второе TTIMEOUT. Первое отображает все события блокировки, второе показывает блокировки, которые не смогли установиться в отведенное им время. На самом деле, скорее всего, достаточно только TTIMEOUT.

Копируем файл техжурнала в отведенное место, летим в программу, вызываем блокировку, получаем сообщение и убираем или переименовываем файл техжурнала. Нам же не нужны тонны инфы о других блокировках!

Переходим в папку rphost_PID, находим текстовые файли и делаем поиск по слову TTIMEOUT. Видим строку:

53:16.789126-0,TTIMEOUT,5,process=rphost,p:processName=*****,t:clientID=16536,t:applicationName=1CV8,t:computerName=ASUSM,t:connectID=17272,SessionID=2242,Usr=*******,WaitConnections=8239

К слову, папок rphost_PID может быть несколько, все зависит от того, сколько рабочих процессов запущено на сервере.

А дальше все просто: смотрим в конец строки — WaitConnections = 8239, это наш номер СОЕДИНЕНИЯ. Заходим в консоль сервера, переходим в Соединения, находим этот номер и смотрим номер сеанса. В моем случае на одного пользователя было два сеанса — сбойный и какой-то другой. Грохнул сеанс, на который указывал техжурнал. И о чудо! Все заработало, радости нет предела! Но, как выяснилось позже, сеанс был не зависший:), в нем работали. Поэтому на будущее — желательно связываться с пользователем и предупреждать.

На мой взгляд, достаточно типовое решение достаточно типовой проблемы. Неизвестно, почему оно мне не попалось, возможно из-за того, что приходилось его искать по тревоге, а когда пользователи не поджимали, то и тесты проводить не получалось — ошибки же нет.

«Конфликт блокировок при выполнении транзакции: Превышено максимальное время ожидания предоставления блокировки» — достаточно часто встречающая ошибка в 1С 8.3 и 8.2, связанная с конкуренцией за использование ресурсов в системе.

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

Получите 267 видеоуроков по 1С бесплатно:

Выполнение большого количества операций

Вполне вероятно, что какой-либо пользователь запустил, например, за большой период в одной транзакции. Архитектура 1С 8.3 предполагает, что система не дает изменять данные, которые используются в одной транзакции другим пользователем, и блокирует их.

Возможно, это временная ошибка, которая перестанет возникать, когда другой пользователь завершит производить действия в системе. Если эта ошибка появляется часто, то, скорее всего, дело в другом.

Ошибка в конфигурации

Кроме ошибок в коде часто встречаются методически неверные решения. Например, — он сам по себе подразумевает последовательное проведение документов. Партионный учет можно заменить на РАУЗ — этим Вы серьезно повысите производительность системы.

Как исправить эту ошибку в 1С 8.3?

В любом случае, появление ошибки «Конфликт блокировок при выполнении транзакции» говорит о необходимости инспекции системы, особенно для средних и крупных информационных систем в клиент-серверном режиме работы (MS SQL, PostgreSQL и т.д.). Если это проигнорировать на раннем этапе, возможны необратимые последствия позже, когда работа системы будет особенно важна (в период сдачи отчетности).

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

На чтение 5 мин. Просмотров 4.4k. Опубликовано 03.09.2019

Содержание

  1. 5 решений для устранения сбоя BitLocker во время шифрования
  2. Действия по устранению проблем с шифрованием диска BitLocker
  3. Решение 1. Включите BitLocker без совместимого TPM
  4. Решение 2: Очистить TPM (модуль доверенной платформы)
  5. Решение 3. Очистите диск и заново создайте раздел с помощью DiskPart
  6. Решение 4. Измените настройки микросхемы безопасности
  7. Решение 5. Измените настройки USB-устройств в BIOS

5 решений для устранения сбоя BitLocker во время шифрования

  1. Включить BitLocker без совместимого TPM
  2. Очистить TPM (модуль доверенной платформы)
  3. Очистите диск и заново создайте раздел с помощью DiskPart
  4. Изменить настройки микросхемы безопасности
  5. Измените настройки USB-устройств в BIOS

В этой статье мы поговорим о нескольких ошибках, которые могут возникнуть при попытке зашифровать ваш диск с помощью BitLocker. Этот инструмент защищает вашу операционную систему от атак в автономном режиме.

Вот некоторые из наиболее распространенных ошибок BitLocker:

  • Это устройство не может использовать модуль платформы доверия .

    • Перейти к решению 1, чтобы исправить это.
  • Неверная операция с ключом реестра, помеченным для удаления .

    • Перейти к решению 2, чтобы исправить это.
  • B itLocker Drive Encryption нельзя использовать, поскольку критические файлы BitLocker отсутствуют или повреждены. Используйте Восстановление запуска Windows, чтобы восстановить файл на вашем компьютере (0x8031004A) .

    • Перейти к решению 3, чтобы исправить это.
  • Ключ шифрования BitLocker не может быть получен из модуля доверенной платформы (TPM) и расширенного PIN-кода. Попробуйте использовать ПИН-код, содержащий только цифры. C: не был зашифрован .

    • Перейти к решению 4, чтобы исправить это.
  • BitLocker не может быть включен. Накопитель данных не настроен на автоматическую разблокировку на текущем компьютере и не может быть разблокирован автоматически. C: не был зашифрован .

    • Перейти к решению 5, чтобы исправить это.

Действия по устранению проблем с шифрованием диска BitLocker

Решение 1. Включите BitLocker без совместимого TPM

  1. Откройте кнопку «Выполнить из пуска», напишите gpedit.msc и
  2. Откроется редактор локальной групповой политики.
  3. Нажмите «Административные шаблоны» в разделе «Конфигурация компьютера», а затем «Компоненты Windows».
  4. Выберите диск BitLocker
  5. Шифрование, а затем диски операционной системы.
  6. В этом окне дважды щелкните «Требовать дополнительную аутентификацию при запуске»
  7. В новом окне выберите «Включено» и «Разрешить BitLocker без совместимого доверенного платформенного модуля (требуется пароль или ключ запуска на флэш-накопителе USB)».
  8. Сохраните изменения, нажав «Применить».
  9. Теперь попробуйте зашифровать диск с помощью BitLocker.
  • СВЯЗАННЫЕ: исправлено: проблема с экраном запроса пароля BitLocker в Windows 10

Решение 2: Очистить TPM (модуль доверенной платформы)

Перед тем как начать сброс настроек TPM до заводских настроек, убедитесь, что вы создали резервную копию своего компьютера. Этот метод может привести к потере данных.

  1. Откройте кнопку «Выполнить с начала», напишите tpm.msc и нажмите Enter.
  2. Откроется новая консоль управления.
  3. В разделе «Действие» справа нажмите «Нажмите TPM».
  4. В поле Clear TPM Security Hardware самое простое решение – установить флажок «У меня нет пароля владельца» и нажать «ОК».
  5. Вам будет предложено перезагрузить. Это будет означать, что вы должны нажать клавишу (обычно F10), чтобы очистить TPM. Нажмите запрошенную клавишу.
  6. После перезагрузки системы вам придется перезагрузить компьютер. После перезапуска вам будет предложено нажать клавишу (обычно F10), чтобы включить TPM. Нажмите эту клавишу.
  7. Запустится мастер настройки TPM, и вы сможете ввести пароль владельца TPM.

Решение 3. Очистите диск и заново создайте раздел с помощью DiskPart

Прежде чем мы продолжим, имейте в виду, что этот метод сотрет всю информацию, хранящуюся на вашем диске. Создайте резервную копию на другом диске, чтобы убедиться, что вы не потеряете все свои файлы и папки.

  1. Запустите командную строку от имени администратора, введите diskpart и нажмите Enter.
  2. Введите список дисков , чтобы отобразить список всех дисков.
  3. Введите выберите диск # , где # – проблемный диск. Нажмите Enter.
  4. Введите clean> нажмите Enter.
  5. Подождите, пока диск не будет очищен. Теперь пришло время создать новый раздел.
  6. Введите создать основной раздел и нажмите Enter
  7. Введите назначить букву = # . Еще раз, # – это буква, которую вы хотите использовать.
  8. Отформатируйте раздел, набрав format fs = ntfs quick . Нажмите Enter.
  • СВЯЗАННО: BitLocker не сохраняет ключ в AD: у нас есть решение

Решение 4. Измените настройки микросхемы безопасности

Согласно сообщениям, эта проблема, по-видимому, затрагивает машины, оснащенные микросхемами Intel PTT Security, использующими определенные параметры. Например, шифрование диска BitLocker использовало TPM и PIN, а параметр «Разрешить BitLocker без совместимого TPM» был отключен.

Кроме того, эти машины работают с ОС в BIOS, а не с UEFI.

Мы перечислим общие шаги, которые необходимо выполнить ниже. Имейте в виду, что они могут отличаться на вашей машине.

  1. Запустите компьютер> откройте настройки BIOS
  2. Перейдите на вкладку «Безопасность»> выберите «Настройки микросхемы безопасности».
  3. Выберите опцию Дискретный TPM
  4. Перейдите к Clear Security Chip> сохраните ваши изменения.
  5. Перезагрузите компьютер, войдите в систему и введите свой PIN-код. Проверьте, сохраняется ли проблема.

Обратите внимание, что если вы хотите вернуться к предыдущим настройкам микросхемы безопасности, вам необходимо заменить возможность загрузки прошивки загрузкой UEFI. Иногда вам также может понадобиться переустановить ОС.

Примечание . Если вы не можете найти исправление BitLocker, настоятельно рекомендуем перейти на Блокировку папки , который является мощным инструментом шифрования. , Он позволяет шифровать файлы, папки и диски и имеет широкий спектр функций безопасности.

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

  • Загрузить пробную версию блокировки папки

Решение 5. Измените настройки USB-устройств в BIOS

Эта ошибка может появиться при попытке зашифровать диск операционной системы с помощью ключа запуска USB. Причина этого может быть связана с некоторыми настройками в режиме BIOS. Вот возможное решение.

  1. Войдите в утилиту настройки BIOS.
  2. Перейдите в Advanced, затем Периферийная конфигурация.
  3. Доступ к хост-контроллеру USB и USB-устройствам.
  4. Настройки USB-устройств должны быть Все.

Мы надеемся, что эти решения помогли вам решить проблемы с шифрованием Bitlocker.

Если у вас есть дополнительные советы и предложения, не стесняйтесь перечислять их ниже.

Примечание редактора . Это сообщение было первоначально опубликовано в ноябре 2018 года и с тех пор было обновлено и обновлено для обеспечения свежести, точности и полноты.

SQL Server 2014 Enterprise — duplicate (do not use) SQL Server 2014 Developer — duplicate (do not use) SQL Server 2014 Standard — duplicate (do not use) Еще…Меньше

Проблемы

Предположим, что у вас есть база данных, содержащая файловые группы только для чтения в Microsoft SQL Server 2014. При запуске инструкции DBCC CHECKDB для базы данных команда DBCC не может создать для базы данных моментальный снимок. Если в базе данных нет другого подключения, операция DBCC завершается без ошибок. Однако появляется следующее сообщение об ошибке:

Инструкция DBCC CHECKDB не будет проверять соответствие каталога или брокера служб SQL Server, так как не удалось создать моментальный снимок базы данных или был указан параметр WITH TABLOCK.

Если в базе данных есть другие подключения, операция DBCC завершается сбоем, и появляется следующее сообщение об ошибке:

Сообщение 5030, уровень 16, состояние 12, строка 1The не может быть монопольно заблокирована для выполнения операции. Сообщение 7926, уровень 16, состояние 1, инструкция Line 1Check прервана. Не удалось проверить базу данных, так как не удалось создать моментальный снимок базы данных, и не удалось заблокировать базу данных или таблицу. В этой статье приведены подробные сведения о том, когда это поведение ожидается и какие временные решения существуют. Дополнительные сведения можно также найти в предыдущих сообщениях об ошибках.

Решение

Совокупные сведения об обновлениях

Эта проблема впервые устранена в следующем накопительном обновлении SQL Server.

  • Накопительное обновление 4 для SQL Server 2014 с пакетом обновления 1 (SP1)

Дополнительная информация

Чтобы воспроизвести эту проблему, выполните в SQL Server следующие команды:

— Open a new query that is named conn1, and then create a new database.
CREATE DATABASE DbTest
GO
— Add a new file group.
ALTER DATABASE DbTest ADD FILEGROUP FGTest
GO
— Add a file to the new file group.
ALTER DATABASE DbTest ADD FILE (NAME=DbTest_Data2, FILENAME=’
‘C:tempDbTest_Data2.ndf’)
TO FILEGROUP FGTest
GO
— Change the file group to read-only.
ALTER DATABASE DbTest MODIFY FILEGROUP FGTest READONLY
GO

— Run the DBCC CHECK command in the conn1 query.
DBCC CHECKDB (DbTest)

— The DBCC CHECK command runs correctly. However, you may receive the following message:
«DBCC CHECKDB will not check SQL Server catalog or Service Broker consistency because a database snapshot could not be created or because WITH TABLOCK was specified.»

— Open a new query window that is named conn2, and then set the database as DbTest. This action opens a connection to the DbTest database.

— Return to the conn1 query, and run the DBCC command again.

DBCC CHECKDB (DbTest)
— Notice the error message that is mentioned in the «Symptoms» section.

Статус

Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе «Применяется к».

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Я
   AzamaT90

15.01.18 — 08:11

Всем привет. Не могу запустить задачу «проверка целостности база данных», должен срабатывать через агент, но даже в ручную не запускается. Выдает ошибку:

Сбой выполнения запроса «DBCC CHECKDB(N’alpha’)  WITH NO_INFOMSGS

» со следующей ошибкой: «Невозможно создать моментальный снимок базы данных из-за ошибки ее запуска.

Операция CREATE FILE вызвала ошибку операционной системы 5(Отказано в доступе.) при попытке открыть либо создать физический файл «G:\SQL\alpha.mdf:MSSQL_DBCC6».

Не удалось создать моментальный снимок базы данных для проверки в сети. Причина содержится либо в предыдущем сообщении об ошибке, либо в том, что один из используемых дисковых томов не поддерживает разреженные файлы или дополнительные потоки. Производится попытка получить монопольный доступ для запуска проверки вне сети.

Базу данных нельзя заблокировать монопольно для выполнения операции.

Инструкция проверки отменена. База данных не может быть проверена, так как не удалось создать ее моментальный снимок, и база данных или таблица не может быть заблокирована. Более подробно о том, когда возникает данная ситуация и какие существуют обходные пути, см. электронную документацию. См. также предыдущие сообщения об ошибках.». Возможные причины сбоя: проблемы с этим запросом, свойство «ResultSet» установлено неправильно, параметры установлены неправильно или соединение было установлено неправильно.

Права на папку дал все пользователем sql, место на HDD на половину занято.

   DrZombi

1 — 15.01.18 — 08:38

(0) Сервер скуля не может писать, вроде нормально описал, сам скуль. Вопрос то в чем, как правильно читать написанное? :)

   DrZombi

2 — 15.01.18 — 08:42

+ Проверь право доступа к файлику скуля

+ проверь место на скуль сервере.

+ Есть замечательный ресурс по работе с эсКуэлем

http://www.sql.ru/forum/991813/prisoedinenie-fayla-bazy-bez-fayla-loga

И даже там пишут, что автор сам виноват, и не читает логи и сообщения :)

   rs_trade

3 — 15.01.18 — 08:42

(0) вопрос то в чем? в ошибке все же расписано что и почему.

   MrCoffin

4 — 15.01.18 — 10:08

(0) «Права на папку дал все пользователем sql, место на HDD на половину занято.»

Надо не всем, а пользователю из-под которого запущен скуль.

«На половину» — на половину лаптя? В цифрах давай, хотя, подозреваю, что проблема только в пользователе.

  

AzamaT90

5 — 15.01.18 — 10:09

Ошибка была в свойствах файлах баз. Была помечена только чтения. Всем спасибо.

Исправить CHKDSK не может заблокировать текущий диск Windows 10 — 7 Советы [MiniTool Tips]

chkdsk не может заблокировать текущий диск

В этом посте представлены 7 советов, которые помогут вам исправить ошибку CHKDSK не удается заблокировать текущую ошибку диска в Windows 10 при попытке запустить CHKDSK для исправления ошибок диска. Программное обеспечение MiniTool также предоставляет бесплатный инструмент для восстановления дисков под названием MiniTool Partition Wizard, который также является профессиональным менеджером разделов жесткого диска. MiniTool также производит бесплатное программное обеспечение для восстановления данных, программное обеспечение для резервного копирования и восстановления системы.

Быстрая навигация:

Когда вы пытаетесь запустить CHKDSK в командной строке Windows для сканирования и исправления ошибок диска в Windows 10, возникает ошибка «Не удается заблокировать текущий диск. CHKDSK не может работать, потому что том используется другим процессом ». Как исправить эту проблему? В этом руководстве представлены несколько способов решения этой проблемы.

Как исправить, что CHKDSK не может заблокировать текущий диск Windows 10

  1. Перезагрузите компьютер с Windows 10.
  2. Временно отключить антивирусное программное обеспечение
  3. Обновите Windows 10
  4. Запустите chkdsk *: / f / r / x, чтобы снять защиту от записи на диск.
  5. Запустите CHKDSK в безопасном режиме
  6. Запустите CHKDSK с помощью дополнительных параметров запуска
  7. Используйте MiniTool Partition Wizard для проверки и исправления ошибок диска

Совет 1. Перезагрузите компьютер с Windows 10.

CHKDSK не может заблокировать текущий диск. Ошибка возникает, когда другой процесс использует диск. Вы можете перезагрузить компьютер, чтобы увидеть, исправлена ​​ли ошибка. Перезагрузка компьютера может помочь решить множество мелких проблем вашего компьютера.

Вы можете нажать «Пуск» -> «Питание» -> «Перезагрузить», чтобы перезагрузить компьютер.

Совет 2. Временно отключите антивирусное программное обеспечение.

Установленное стороннее антивирусное программное обеспечение может иногда мешать некоторым компьютерным процессам. Вы можете попытаться временно отключить все установленное стороннее антивирусное программное обеспечение и снова запустить CHKDSK в командной строке, чтобы увидеть, не может ли CHKDSK заблокировать текущий диск, используемый другим процессом, ошибка исчезнет.

Совет 3. Обновите Windows 10

Если эта ошибка появляется после обновления Windows, это может быть вызвано ошибкой в ​​Центре обновления Windows. Обычно ошибки будут исправлены в новых обновлениях Windows. Вы можете попробовать обновить Windows 10 до последней версии, чтобы узнать, может ли это исправить, что CHKDSK не может заблокировать текущий диск, проблема с Windows 10.

Вы можете нажать Пуск -> Настройка -> Обновление и безопасность -> Центр обновления Windows и нажать кнопку Проверить наличие обновлений. Windows автоматически найдет и установит доступные новые обновления на ваш компьютер.

Совет 4. Запустите chkdsk *: / f / r / x, чтобы снять защиту диска от записи.

Если жесткий диск защищен от записи, CHKDSK не может заблокировать текущий диск, может произойти ошибка. Вы можете следовать приведенному ниже руководству, чтобы принудительно отключить том, снять защиту от записи и исправьте эту ошибку.

Шаг 1. Вы можете нажать Пуск, ввести cmd, щелкнуть правой кнопкой мыши приложение командной строки и выбрать Запуск от имени администратора. Нажмите ОК, чтобы открыть командную строку с повышенными привилегиями .

Шаг 2. В окне командной строки вы можете ввести chkdsk *: / f / r / x command и нажмите Enter. Замените «*» буквой диска целевого тома, который вы хотите сканировать.

Ключ «/ f» найдет и исправит ошибку диска. Переключатель «/ r» обнаружит поврежденные сектора на жестком диске и попытается восстановить доступную для чтения информацию из поврежденных секторов. Переключатель «/ x» принудительно отключит целевой жесткий диск. (Связанный: chkdsk / f или / r )

Если вам не нужно проверять наличие битых секторов на диске, что может потребовать много времени, вы можете просто ввести chkdsk *: / f / x.

Убедитесь, что CHKDSK работает нормально. Если вы встретите сообщение «Chkdsk не может запуститься, потому что том используется другим процессом. Вы хотите запланировать проверку этого тома при следующем перезапуске системы? (Y / N) », введите« Y »и нажмите Enter. Затем вы можете перезагрузить компьютер, и CHKDSK должен запуститься при запуске.

Если этот метод не работает, попробуйте другие решения, указанные ниже.

Совет 5. Запустите CHKDSK в безопасном режиме.

Вы можете попробовать запустить CHKDSK в безопасном режиме, чтобы узнать, можно ли исправить ошибку CHKDSK не может заблокировать текущий диск в Windows 10. Ознакомьтесь с инструкциями ниже.

Шаг 1. Вы можете нажать Пуск -> Настройка -> Обновление и безопасность -> Восстановление. Нажмите кнопку «Перезагрузить сейчас» в разделе «Расширенный запуск», и ваш компьютер должен перезагрузиться в среде восстановления Windows.

Шаг 2. В Windows RE вы можете нажать Устранение неполадок -> Дополнительные параметры -> Параметры запуска -> Перезагрузить.

запустить CHKDSK в безопасном режиме

Шаг 3. Выберите безопасный режим в окне «Параметры запуска». Вы можете нажать F4, чтобы запустить Windows 10 в безопасном режиме .

Шаг 4. Затем вы можете нажать Windows + R, ввести cmd, нажать Ctrl + Shift + Enter, нажать OK, чтобы запустить командную строку от имени администратора.

Шаг 5. Затем вы можете ввести chkdsk *: / f / r / x в командной строке и нажать Enter. Замените «*» буквой целевого диска.

Проверьте, не удается ли CHKDSK заблокировать текущий диск. Ошибка Windows 10 решена. Если вы хотите выйти из безопасного режима, вы можете перезагрузить компьютер, и он вернется в нормальный режим.

Совет 6. Запустите CHKDSK через Дополнительные параметры запуска.

Вы также можете войти в экран дополнительных параметров в Windows 10 и загрузитесь в командную строку в Windows 10 . Затем проверьте, работает ли CHKDSK без сбоев.

Шаг 1. Вы можете нажать Пуск -> Настройка -> Обновление и безопасность -> Восстановление и нажать кнопку «Перезагрузить сейчас» в разделе «Расширенный запуск».

Затем нажмите Устранение неполадок -> Дополнительные параметры, чтобы доступ к дополнительным параметрам в Windows 10 .

Нажмите Командная строка в окне дополнительных параметров. Выберите учетную запись администратора и введите пароль учетной записи, чтобы открыть командную строку.

выберите командную строку в дополнительных параметрах

Шаг 2. После того, как вы окажетесь в окне командной строки, вы можете ввести команду chkdsk *: / f / r / x и нажать Enter. Замените «*» фактической буквой диска.

Совет: если вы хотите запустить CHKDSK для проверки системного диска, после того, как вы откроете командную строку этим методом, буква системного диска может быть не C, а может быть D. Чтобы проверить букву системного диска, вы можете использовать инструмент Windows Diskpart. .

Тип diskpart в командной строке и нажмите Enter, чтобы открыть Diskpart. Тип том списка , и ударил Войти чтобы перечислить все диски. Затем вы можете проверить букву диска для каждого раздела. Введите exit и нажмите Enter, чтобы закрыть экран Diskpart.

Затем вы можете ввести chkdsk *: / f / r / x, заменить «*» точной буквой диска и нажать Enter, чтобы проверить и отремонтировать жесткий диск ошибки. Это должно исправить ошибку не удается заблокировать текущий диск DHKDSK Windows 10.

Совет 7. Используйте MiniTool Partition Wizard для проверки и исправления ошибок диска

Если все вышеперечисленные решения не работают, вы можете попробовать другой бесплатный инструмент для проверки и исправления ошибок жесткого диска.

Мастер создания разделов MiniTool Бесплатная версия позволяет с легкостью проверять и исправлять ошибки диска, а также проверять битые сектора.

Этот главный менеджер разделов жесткого диска также позволяет создавать / изменять размер / расширять / форматировать раздел, копировать диск, переносить ОС, преобразовывать формат диска, проверять скорость жесткого диска, анализировать пространство на жестком диске и т. Д.

Бесплатно загрузите MiniTool Partition Wizard Free на свой компьютер с Windows 10 и узнайте, как его использовать для проверки и исправления ошибок диска, а также для проверки поврежденных секторов.

Шаг 1. Запустите MiniTool Partition Wizard, чтобы войти в его основной интерфейс.

Шаг 2. Выберите целевой раздел на целевом диске, щелкните его правой кнопкой мыши и выберите Проверить файловую систему . Затем вы можете выбрать опцию «Проверить и исправить ошибку файловой системы» и нажать «Пуск». MiniTool Partition Wizard начнет изучение и исправление обнаруженных дисковых ошибок.

Шаг 3. Если вы хотите узнать, есть ли на вашем диске поврежденные сектора, вы можете щелкнуть правой кнопкой мыши целевой раздел и выбрать Тест поверхности . MiniTool Partition Wizard просканирует и отметит обнаруженные сбойные сектора.

проверьте диск с помощью MiniTool Partition Wizard

Если вы встретили ошибку CHKDSK не может заблокировать текущую ошибку диска при запуске CHKDSK в Windows 10, вы можете использовать эту лучшую альтернативу для проверки и исправления ошибок диска.

Если вы ищите информацию о том, что такое chkdsk , как им пользоваться, у вас он не работает или работает не правильно, то вам сюда.

Введение

Если вы ищете как скачать chkdsk бесплатно, без ожидания и смс, без ввода номера, то боюсь огорчить, что программа chkdsk по умолчанию присутствует в каждой системе семейства Windows .

Что собой представляет программа ChkDsk вообще и для чего она нужна?

Давайте разберёмся (обратившись к Википедии).

CHKDSK (сокращение от check disk — проверка диска ) — стандартное приложение в операционных системах DOS и Microsoft Windows ,

которое проверяет жёсткий диск или дискету на ошибки файловой системы (например, один и тот же сектор отмечен как принадлежащий двум разным файлам).

Служебная программа CHKDSK также может исправлять найденные ошибки файловой системы. Под Windows NT , Windows 2000 и

Windows XP , CHKDSK также может проверять поверхность жёсткого диска на наличие физически повреждённых секторов (bad sectors).

Найденные сектора отмечаются как повреждённые, и система больше не пытается читать с этих секторов или писать на них.

Ранее эту задачу выполнял [ SCANDISK ]. В системе UNIX аналогичная команда называется fsck.

По умолчанию, CHKDSK не исправляет ошибки и не проверяет поверхность диска на наличие повреждённых секторов.

Но об этом позже. Выполнение CHKDSK занимает некоторое время — обычно от нескольких минут до нескольких часов (зависит от жёсткого диска, его размера и занятости).

Способ 1. Как запустить Chkdsk из под Windows (на примере Windows 7 и Windows XP).

Начнем с того, что запуск программы Chkdsk на Windows 7 ничем почти не отличается от запуска на Windows ХР. Самый простой для пользователя способ запустить программу — это зайти в свойства нужного диска, например «C:», и перейти во вкладку «Сервис». Как запустить Chkdsk, чтобы исправить ошибки на диске?Как запустить Chkdsk, чтобы исправить ошибки на диске?

Далее нажмите «Выполнить проверку» и появится окно программы Chkdsk с графическим интерфейсом: Как запустить Chkdsk, чтобы исправить ошибки на диске?Как запустить Chkdsk, чтобы исправить ошибки на диске?

В окне можно выбрать параметры сканирования. Один отвечает за исправление ошибок на диске, а другой — обнаруживает поврежденные сектора диска и восстанавливает их, и задает исправление ошибок на диске.

В случае, если Вы проверяете раздел с Windows(например диск «C:»), то можете получить сообщение о невозможности проверки. (на win-хр немного другая табличка, но с тем же смыслом):

Как запустить Chkdsk, чтобы исправить ошибки на диске?Как запустить Chkdsk, чтобы исправить ошибки на диске?

Это нормально и проверка будет назначена на следующий запуск, т.е. будет произведена при перезагрузке компьютера.

Если вы выбрали другой диск, то проверка будет происходить из под Windows. P.S — В Windows 7 Service Pack 1 вместо надписи OK может быть надпись «Расписание проверки дисков». Это так перевели. Суть кнопки осталась та же.

Способ 2. Из командной строки на примере Windows XP

После сбоев, неудачного выключения компьютера, выключения света и т.п. мы можем наблюдать следующую картину во время загрузки ОС.

Как запустить Chkdsk, чтобы исправить ошибки на диске?

Она означает, что запустилась специальная программа — Chkdsk , для поиска и исправления ошибок на диске, которые могли возникнуть во время сбоя.

Но бывают и такие случаи, когда ошибка на диске есть, а Chkdsk не запустилась самостоятельно. Как же ее запустить, чтобы исправить ошибки на диске?

Для этого заходим в меню «Пуск — Выполнить».

Как запустить Chkdsk, чтобы исправить ошибки на диске?

И вводим команду [chkdsk] со следующими параметрами [том:] [/f], где: [том:] — это буква диска (раздела); [/f]- параметр, который задает исправление ошибок на диске.Получится следующая команда: chkdsk с: /f

Как запустить Chkdsk, чтобы исправить ошибки на диске?

В моем случае указан диск «С:». Соответственно, если нужно проверить другой диск, например «D:», то указываем:» chkdsk d: /f» Для проверки диск должен быть заблокирован, поэтому после запуска команды по кнопке ОК, может появиться следующее окно, в котором написано:

Как запустить Chkdsk, чтобы исправить ошибки на диске?

«Невозможно выполнить команду Chkdsk , так как указанный том используется другим процессом. Следует ли выполнить проверку этого тома при следующей перезагрузке системы?

[ Y (да)/ N (нет)]» Жмем на клавиатуре латинскую букву Y и Enter, и теперь во время следующей загрузки компьютера команда chkds k проверит указанный диск на ошибки и исправит их.

После перезагрузки будет показано такое окно:

Как запустить Chkdsk, чтобы исправить ошибки на диске?

Также следует добавить, что параметр /f — это не единственный параметр команды chkdsk . Есть и другие, но они редко используются.

Обо всех параметрах Вы можете прочитать в разделе windows «Справка и поддержка», так как приводить их здесь нет смысла.

На сайте Microsoft можно так же найти все описания ключей (параметров) команды.

Так же их описание представлено ниже. Единственный параметр, который может пригодится — это параметр /r , который обнаруживает поврежденные сектора диска и восстанавливает ту часть данных, которая еще может быть прочитана. Команда с этим параметром будет выглядеть так: chkdsk c: /r Для достижения эффекта нужно иметь права администратора (!).

Способ 3. Как запустить Chkdsk, если Windows не может загрузиться?

Представьте себе, в один прекрасный день, Вы сидите за компьютером, как вдруг скачек напряжения, небольшой, но пробки выбило. Ваш компьютер, икнув, резко выключился. Наладив свет, вы его включаете, но вот ведь незадача, Windows не грузится! Один из вариантов, что произошел сбой на основном жестком диске, который не дает загрузчику нормально работать. Как это исправить? «Как запустить Chkdsk, если Windows не может загрузиться?» — Спросите Вы. Я вам постараюсь все обьяснить в этой статье.

Для начала надо вставить Ваш установочный диск, перед загрузкой Windows, в дисковод. Появится такое сообщение:

Как запустить Chkdsk, чтобы исправить ошибки на диске?

Жмем любую клавишу, начинается процесс подготовки к установке. После этого вы увидите следующее:

Как запустить Chkdsk, чтобы исправить ошибки на диске?

Жмем [ R ] и переходим в консоль восстановления. Из списка выбираем пункт с вашей копией Windows (у меня он один единственный — №1.)

При наличии пароля у администратора (главнейшая скрытая учетная запись в ХР) вас попросят ввести его (В моем случае он есть и я его ввел):

Как запустить Chkdsk, чтобы исправить ошибки на диске?

Появляется возможность вводить команды. Ура. Не будем торопиться, введем слово HELP . Появится целый список команд. Сейчас нам нужна только команда CHKDSK .

Вводить параметры не обязательно. Если вам надо произвести не самую эффективную проверку за короткое время, то смело набирайте «CHKDSK» и жмите Ввод (Enter).

Но если вам нужна эффективная проверка (правда за долгое время), то не поленитесь дочитать до конца! Итак, давайте, перед тем как ее вводить посмотрим все параметры этой команды.

Для этого мы вводим команду сначала » CHKDSK /? » или » HELP CHKDSK «.

Как запустить Chkdsk, чтобы исправить ошибки на диске?

Как Вы видите, на картинке, параметр /R включает в себя обязанности параметра /P , поэтому /P мы рассматривать не станем.

Ладно, не будем особо отвлекаться и продолжим. После того, как Вы более-менее разобрались со справкой команды, то можем приступить к практике.

Вводим команду CHKDSK [диск:] [/параметры] . Например — » CHKDSK С: /R «. Если у вас имеется только один жесткий диск, то [диск:] можно не вводить ( нежелательно ).

Как запустить Chkdsk, чтобы исправить ошибки на диске?

Все! Запустился процесс проверки и восстановления! Ждем, пьём чай и радуемся.

Команды консоли:

Команда: CHKDSK [том: [/F] [/V] [/R] [/X] [/C] [/L[:размер]] выполняет проверку указанного диска при помощи программы Check Disk, при вызове без аргументов осуществляется проверка текущего диска.

В консоль вбивать без скобок. Пример: C: /F /R

  • том — определяет метку тома проверяемого диска, точку подключения либо имя диска с двоеточием (например, C:);
  • путь, имя файла — имя файла или группы файлов для проверки на фрагментацию. Используется только в файловой системе FAT/FAT32;
  • /F — выполнение проверки на наличие ошибок и их автоматическое исправление;
  • /V — в процессе проверки диска выводить полные пути и имена хранящихся на диске файлов. Для дисков, содержащих разделы NTFS, также выводятся сообщения об очистке;
  • /R — выполнить поиск поврежденных секторов и восстановить их содержимое. Требует обязательного использования ключа /F;
  • /X — в случае необходимости выполнить отключение тома перед его проверкой. После отключения все текущие дескрипторы для данного тома будут недействительны. Требует обязательного использования ключа /F;
  • /I — не проводить строгую проверку индексных элементов. Используется только в файловой системе NTFS;
  • /C — не проводить проверку циклов внутри структуры папок. Используется только в файловой системе NTFS.
  • /L:размер — в ходе проверки изменить размер файла журнала до указанной величины (в килобайтах). Если значение не указано, выводится текущий размер файла. Используется только в файловой системе NTFS;
Ошибки разработчиков в CHKDSK (!):
    Согласно википедии:
  • Интерфейс этого мастера может быть доступен только на английском языке, однако автоматическое исправление можно выполнять и в других языковых версиях Windows.
  • Если загрузка выполняется не с того компьютера, на котором выявлена проблема, можно сохранить автоматическое исправление на флэш-накопитель или компакт-диск, чтобы запустить его на нужном компьютере.

Как принудительно убратьвосстановить CHKDSK из автозагрузки?

Предисловие:

Давайте расставим все точки над i и постараемся не просто решить проблему по пунктам, но еще и понять ее суть (чтобы в будущем не наступать на одни и те же грабли).

А проблема следующая: При каждой загрузке системы вылезает проверка диска. Причину точно назвать не могу, так как у данной проблемы их несколько.

Наиболее вероятные — медленно умирает ваш жесткий диск, либо просто произошел сбой в системе. Дело в том, что при включении компьютера, сначала загружается его ядро, а потом сама система.

Так вот, при каждой загрузке ядром вызывается программа Autochk.exe , которая проверяет жесткие диски на пометку » Грязный бит «(см. Википедию).

Если такая пометка присутствует, то программа Autochk.exe запускает команду chkdsk /f , которая выполняется для помеченного тома.

Так можно ли вообще принудительно отключить chkdsk из так называемого автозапуска? Отвечу Вам, да. Можно это сделать следующим образом.

Хочу сразу предупредить — отключение автозапуска CHKDSK лишает вас контроля за целостностью вашей файловой системы, что может привести к последствиям!
Способ 1. Жесткое отключение. (Не рекомендуется?)

1. Для начала надо запустить редактор реестра. Стандартный способ:

Как запустить Chkdsk, чтобы исправить ошибки на диске?Как запустить Chkdsk, чтобы исправить ошибки на диске?

2. Далее переходим в раздел

Как запустить Chkdsk, чтобы исправить ошибки на диске?

3. Находим “BootExecute” и стираем его содержимое.

Как запустить Chkdsk, чтобы исправить ошибки на диске?

Перед выполнением, не забудьте сохранить исходное значение параметра! Обычно оно

Способ 2. Более мягкое отключение

1. Заходим в RegEdit

2. Заходим опять в раздел

3. К вашей записи autocheck autochk * в параметре BootExecute перед знаком * добавьте “/k:C” без кавычек. Где C: – буква вашего диска, для которого вы хотите отключить проверку. Теперь должно выглядеть так: autocheck autochk /k:C * .

Как запустить Chkdsk, чтобы исправить ошибки на диске?

Если у вас несколько томов, то разделяя пробелами добавьте нужное количество записей “/k:C”, где C – нужная буква тома. Например: autocheck autochk /k:C /k:D /k:E * .

Как запустить Chkdsk, чтобы исправить ошибки на диске?

Т.е я отключил автоматическую проверку CHKDSK для томов C:, D:, и E:.

Как вернуть все обратно?

1. Заходим в RegEdit

2. Заходим опять в раздел

3. В параметре BootExecute стираем все что было и пишем:

или то что там было изначально. Предполагается, что именно такая запись была до того как Вы туда вообще полезли. Если у вас есть сохраненная копия оригинальной записи, о которой я писал в первом способе, то напишите её.

CHKDSK Как проверить и исправить ошибки жесткого диска

В данной статье показаны действия, с помощью которых можно проверить и исправить ошибки жесткого диска с помощью утилиты CHKDSK.

CHKDSK ( check disk — проверка диска) chkdsk.exe — стандартная утилита в операционной системе Windows, с помощью которой можно проверить жёсткий диск на ошибки файловой системы, обнаружить неисправные сектора жёсткого диска, исправить найденные ошибки файловой системы, а также выполнить поиск поврежденных секторов на диске и по возможности восстановить их содержимое.

Со временем, жесткий диск начинает накапливать ошибки, которые вызваны различными причинами (от неожиданных остановок системы к поврежденному программному обеспечению и от плохих секторов к повреждению метаданных). Это может не только нанести ущерб общей продолжительности срока службы жесткого диска, но и замедлить его в краткосрочной перспективе, и никто не любит медленный жесткий диск. В этом случае пользователи Windows должны всегда проверять свои жесткие диски на наличие ошибок через некоторое время и исправлять любые ошибки, которые они находят, чтобы продлить срок службы и функциональность дисков.

Основная функция утилиты chkdsk заключается в проверке файловой системы и метаданных файловой системы на разделе диска и исправлении всех найденных ошибок файловой системы.

Такие ошибки могут включать поврежденные записи в основной таблице файлов раздела (MFT), неверные дескрипторы безопасности, связанные с файлами, несогласованную временную метку или информацию о размере отдельных файлов, или один и тот же сектор отмечен как принадлежащий двум разным файлам.

Chkdsk также может дополнительно сканировать каждый сектор на томе диска в поисках поврежденных секторов. При обнаружении сбойных секторов (bad-сектора) на жестком диске, они помечаются как поврежденные сектора и операционная система больше не читает и не записывает информацию с неисправных секторов. Также утилита попытается восстановить данные с поврежденных секторов, если это возможно.

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

Как проверить диск на ошибки в графическом интерфейсе

Чтобы проверить диск на ошибки файловой системы в графическом интерфейсе, откройте проводник Windows, нажмите правой кнопкой мыши на локальном диске который нужно проверить и в появившемся контекстном меню выберите пункт Свойства.

В открывшемся окне свойств выбранного локального диска, перейдите на вкладку Сервис, и в разделе Проверка на наличие ошибок нажмите кнопку Проверить.

В следующем окне «Проверка ошибок» выберите ➜ Проверить диск

Далее начнется процесс сканирования, который займет некоторое время. Время проверки зависит от размера локального диска и от количества данных, находящихся на диске.

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

Для получения подробных сведений, нажмите на ссылку Показать подробности

В окне оснастки «Просмотр событий» нажмите на Сведения.

В окне «Свойства событий», во вкладках Общие и Подробности доступна подробная информация о результате проверки диска.

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

Во время проверки файловой системы на ошибки, выполняются следующие действия:

Проверка базовой структуры файловой системы…

Проверка дескрипторов безопасности…

Как проверить диск на ошибки в командной строке

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

Если выполнить в командной строке команду chkdsk без параметров, то утилита будет сканировать диск в режиме только для чтения, сообщая об ошибках, но не пытаясь их исправить.

Данный режим сканирования не требует перезагрузки и утилита chkdsk.exe выполняет такую же проверку, как и в способе представленном выше, но только используя консоль командной строки.

Как проверить и исправить ошибки жесткого диска в командной строке

Чтобы проверить и исправить ошибки файловой системы, а также выполнить поиск поврежденных секторов на диске и восстановить их содержимое, запустите командную строку от имени администратора и выполните следующую команду:

Где C буква диска, который нужно проверить и исправить. В окне командной строки вы увидите сообщение о том что Невозможно выполнить команду CHKDSK, так как указанный том используется другим процессом. Следует ли выполнить проверку этого тома при следующей перезагрузке системы? Для запуска проверки системного диска после перезагрузки системы, нажмите на клавишу Y, а затем нажмите клавишу Enter ↵

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

После перезагрузки системы, начнется процесс сканирования и исправления ошибок.

Как проверить и исправить только ошибки файловой системы без поиска и восстановления поврежденнных секторов

Чтобы выполнить проверку и исправление только ошибок файловой системы без поиска и восстановления поврежденнных секторов, запустите командную строку от имени администратора и выполните следующую команду:

Где C буква диска, который нужно проверить и исправить. В окне командной строки вы увидите сообщение о том что Невозможно выполнить команду CHKDSK, так как указанный том используется другим процессом. Следует ли выполнить проверку этого тома при следующей перезагрузке системы? Для запуска проверки системного диска после перезагрузки системы, нажмите на клавишу Y, а затем нажмите клавишу Enter ↵.

После перезагрузки системы, начнется процесс сканирования и исправления ошибок.

Ниже представлены некоторые параметры утилиты chkdsk:

  • /F — проверка файловой системы и автоматическое исправление найденных ошибок
  • /R — выполнение поиска поврежденных секторов на диске, восстановление содержимого (команда требует обязательного ключа /F, пример команды: chkdsk C: /F /R)
  • /V — показ полных путей файлов, отображение имен файлов на диске, в файловой системе NTFS – показ сообщений об очистке
  • /X — отключение диска перед проверкой, дескрипторы данного диска не будут проверяться (должен быть установлен обязательный ключ /F, пример команды: chkdsk C: /F /X)
  • /I — проведение менее строгой проверки элементов индекса, CHKDSK проводит более быструю, но менее тщательную проверку
  • /C — пропуск проверки циклов внутри структуры папок
  • /L: размер — изменение размера журнала до величины, указанной в килобайтах
  • /B — сброс результатов проверки, повторная проверка ранее найденных поврежденных секторов жесткого диска (обязателен ключ /R, пример команды: chkdsk C: /F /R /B)

Чтобы узнать все параметры утилиты chkdsk, выполните команду:

Также, использовать утилиту chkdsk можно и в среде восстановления, когда операционная система не загружается.

Используя рассмотренные выше действия, можно проверить и исправить ошибки жесткого диска.

  • Ошибка вылета майнкрафт 1
  • Ошибка выключите камеру затем включите ее снова panasonic hc v770
  • Ошибка выключен интерфейс wifi атол 30ф
  • Ошибка выключен интерфейс ethernet атол
  • Ошибка выключателя подушки безопасности пассажира