Сообщение об ошибке «Файл заблокирован» или «Отказано в доступе» при попытке сохранить файл по сети

Переводы статьи Переводы статьи
Код статьи: 812937 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Проблема

При попытке сохранить файл (например, книгу Microsoft Excel), который был открыт по адресу в формате UNC, появляется одно из следующих сообщений об ошибке.
Не удается прочитать файл. Файл заблокирован
Отказано в доступе
Ошибка блокировки
Программой «Просмотр событий» регистрируется следующая запись.

Тип события: Уведомление
Источник события: Всплывающее окно приложения
Категория события: Отсутствует
Код события: 26
Пользователь: Н/Д
Описание: Всплывающее окно приложения: Windows – Ошибка отложенной записи: Не удалось сохранить все данные для файла имя_файла. Часть данных потеряна. Эта ошибка может быть вызвана отказом оборудования компьютера или сетевого подключения. Попробуйте сохранить этот файл в другом месте. Для получения дополнительных сведений посетите веб-узел центра справки и поддержки по адресу http://support.microsoft.com.

Причина

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

Решение

Сведения о пакете обновления

Чтобы решить эту проблему, установите последний пакет обновления для Windows XP. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
322389 Как получить последний пакет обновления для Windows XP

Сведения об исправлении

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

Если исправление доступно для загрузки, в верхней части статьи базы знаний отображается раздел «Исправление доступно для загрузки». Если этот раздел не отображается, обратитесь в службу поддержки пользователей Майкрософт, чтобы получить данное исправление.

Примечание. Если возникли другие проблемы или необходимо устранить неполадки, возможно, потребуется создать отдельный запрос. Дополнительные услуги по технической поддержке, не связанные с данным исправлением, оплачиваются на стандартных условиях. Чтобы получить полный список телефонных номеров службы поддержки пользователей корпорации Майкрософт или создать отдельный запрос, посетите веб-узел корпорации Майкрософт по следующему адресу:
http://support.microsoft.com/contactus/?ws=support
Примечание. В форме «Исправление доступно для загрузки» отображаются языки, для которых доступно исправление. Если нужный язык не отображается, это означает, что исправление для данного языка отсутствует. Английская версия исправления содержит версии файлов, приведенные в следующей таблице, или более поздние. Дата и время указаны в формате UTC. При просмотре сведений о файле в системе происходит перевод соответствующих значений в местное время. Чтобы узнать разницу между временем в формате UTC и местным временем, следует использовать вкладку Часовой пояс элемента панели управления «Дата и время».

Windows XP с пакетом обновления 1 (SP1), Windows XP Tablet PC Edition

Дата         Время Версия      Размер  Имя файла
-------------------------------------------------------------- 
30-янв-2003 21:41 5.1.2600.1164 400,896   Mrxsmb.sys 
30-янв-2003 21:41 5.1.2600.1164 154,880   Rdbss.sys

Windows XP, 64-разрядная версия

Дата         Время Версия      Размер  Имя файла
------------------------------------------------------------- 
30-янв-2003  21:41 5.1.2600.1164 1,259,392 Mrxsmb.sys 
30-янв-2003  21:41 5.1.2600.1164 489,216   Rdbss.sys

Временное решение

Внимание! В данный раздел, описание метода или задачи включены сведения об изменении параметров реестра, однако их неправильное изменение может привести к возникновению серьезных проблем. Поэтому при выполнении таких действий строго соблюдайте инструкции. Чтобы обеспечить дополнительную защиту, создайте резервную копию реестра. Это позволит восстановить реестр при возникновении неполадок. Дополнительные сведения о создании резервной копии и восстановлении реестра см. в следующей статье базы знаний Майкрософт:
322756 Создание резервной копии, редактирование и восстановление реестра Windows XP и Windows Server 2003
Для устранения проблемы необходимо отключить уступающую блокировку на файловом сервере.
  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В диалоговом окне Открыть введите команду regedit и нажмите клавишу ВВОД.
  3. Найдите следующий раздел реестра:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet \Services\LanmanServer\Parameters
  4. Выделите на правой панели параметр EnableOplocks и нажмите клавишу ВВОД.
  5. В поле Значение введите 0 и нажмите клавишу ВВОД.
  6. Закройте редактор реестра.

Статус

Данное поведение является подтвержденной ошибкой продуктов Майкрософт, перечисленных в начале данной статьи. Первое исправление этой проблемы появилось в пакете обновления 2 (SP2) для Windows XP.

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

Дополнительные сведения об уступающей блокировке см. в следующей статье базы знаний Майкрософт:
296264 Настройка уступающей блокировки в Windows
По результатам трассировки видно, что файл открывается по меньшей мере дважды, а затем система выполняет запись в дескриптор, предназначенный только для чтения. Трассировка имеет следующий вид.
96  CLIENT SMB: C NT create & X, File = \newshare.xls SMB: Desired Access = 0x00020089 (Read Data,Read EA,Read Attributes) 97  SERVER SMB: R NT create & X, FID = 0x5 SMB: Oplock Level = Batch

<content removed that displays the client program reading and locking the file, but the file is not closed>

450 CLIENT SMB: C NT create &amp; X, File = \newshare.xls SMB: Desired Access = 0x0002019F (Read/Write Data, Read/Write EA, Read/Write Attributes)

451 SERVER SMB: R NT create &amp; X, FID = 0xc007 SMB: Oplock Level = NONE

<content removed that displays the client program reading, locking,  writing and flushing data on this file handle>

585 CLIENT SMB: C write &amp; X, FID = 0x5, Write 0xc00 at 0x00005000 PID = 0xFEFF TID = 0x1002 MID = 0x4400 UID = 0x0801 586 SERVER SMB: R write &amp; X - NT error, System, Error, Code = (34) STATUS_ACCESS_DENIED
Примечание. Идентификатор процесса (PID) of 0xFEFF в фрейме 585 соответствует системному процессу, который использует дескриптор файла только для чтения, а не клиентской программе, которая выполняет запись на диск.

Свойства

Код статьи: 812937 - Последний отзыв: 11 сентября 2008 г. - Revision: 5.5
Информация в данной статье относится к следующим продуктам.
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Tablet PC Edition
Ключевые слова: 
kbautohotfix kbhotfixserver kbqfe kbwinxpsp2fix kbenv kbqfe kberrmsg kbwinxppresp2fix kbfix kbbug KB812937

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com