Пкзо код ошибки субд 21

Every time I reboot windows, for some databases comes out this error. (OS Error 21 — Device not ready)

This is due to a disk being offline or not being online either at the time SQL Server started, or had transitioned states after SQL Server has been online.

3.If I restart SQL Server the errors disappears

Yes, because the databases have been remounted inside of SQL Server. You could also offline->online the database as well and it would work, assuming the disk device has been fixed.

This can easily be reproduced in a test environment by putting a database on a disk, disabling the disk, running a select query (to get the error), bringing the disk back online and noticing that the select still fails with the same error. The database will need to be remounted in order to work again and not get OS Error 21.

What should you do?

Have someone do some windows tracing to figure out why it isn’t coming online initially or why it is going offline (any state transition) or why it is showing ready to windows but really isn’t (maybe other drivers need to be loaded for it).

Additionally check any disk filter drivers are up to date for things like anti-virus, host intrusion protections, etc., as those may also be blocking the service/startup/state.

Every time I reboot windows, for some databases comes out this error. (OS Error 21 — Device not ready)

This is due to a disk being offline or not being online either at the time SQL Server started, or had transitioned states after SQL Server has been online.

3.If I restart SQL Server the errors disappears

Yes, because the databases have been remounted inside of SQL Server. You could also offline->online the database as well and it would work, assuming the disk device has been fixed.

This can easily be reproduced in a test environment by putting a database on a disk, disabling the disk, running a select query (to get the error), bringing the disk back online and noticing that the select still fails with the same error. The database will need to be remounted in order to work again and not get OS Error 21.

What should you do?

Have someone do some windows tracing to figure out why it isn’t coming online initially or why it is going offline (any state transition) or why it is showing ready to windows but really isn’t (maybe other drivers need to be loaded for it).

Additionally check any disk filter drivers are up to date for things like anti-virus, host intrusion protections, etc., as those may also be blocking the service/startup/state.


Каждый раз, когда я перезагружаю Windows, для некоторых баз данных я получаю эту ошибку:

Операционная система вернула ошибку 21 (устройство не готово.)

  1. Я проверил диск с chkdsk /r— нет плохих секторов.
  2. Я выполнил DBCC CHECKDBбез ошибок:

    *(CHECKDB found 0 allocation errors and 0 consistency errors in database)* 
  3. Если я перезапущу SQL Server, ошибки исчезнут.

Windows 10 и SQL Server 2016 Express.

Ответы:


Каждый раз, когда я перезагружаю Windows, для некоторых баз данных появляется эта ошибка. (Ошибка ОС 21 — устройство не готово)

Это связано с тем, что диск находился в автономном режиме или не был подключен к сети во время запуска SQL Server или имел переходные состояния после подключения SQL Server к сети.

3.При перезапуске SQL Server ошибки исчезают

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

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

Что вы должны сделать?

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

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





Это мои наблюдения и то, как я решил проблему (для тех, у кого такая же проблема)

  • Я использовал экземпляр amazon ec2 под управлением Sql-сервера.
  • У меня было устройство EBS Block, подключенное к экземпляру ec2, которое подключено к диску D :.
  • Мои данные и журналы были на диске D :.
  • Когда я останавливал экземпляр ec2 и вызывал его позже, я всегда сталкивался с ошибкой «устройство не готово», и базы данных не появлялись.
  • Я попытался настроить службу MSSQLSERVER с помощью «Отложенный запуск».
  • Однако из журналов сервера sql я обнаружил, что задержка не была учтена, и MSSQLSERVER запустился сразу после загрузки.
  • От наблюдателя событий я наблюдал, когда диск D: становится здоровым.
  • Из журналов сервера sql я отметил время, когда SQL Server запускает мою пользовательскую базу данных.
  • Я заметил, что диск D: доступен только через 6 секунд; и, очевидно, появляется ошибка «Устройство не готово».
  • Я также отметил, что «отложенный запуск» не был принят, потому что была другая служба с именем «SQL SERVER LaunchPad», которая запускает «MSSQLSERVER».
  • Мне не нужны возможности аналитики «Launchpad». Поэтому я отключил этот сервис.
  • Теперь «MSSQLSERVER» запускается с задержкой и может найти файлы диска D :.

Полная ошибка, которую я получил при подключении к локальному экземпляру MS SQL по умолчанию (2017) через MSSMS:

Операционная система возвратила ошибку 21 (устройство не готово) к SQL Server во время чтения со смещением 0x000000000ae000 в файле ‘D: MSSQL DATA tempdev.mdf’. Дополнительные сообщения в журнале ошибок SQL Server и журнале ошибок операционной системы могут предоставить более подробную информацию. Это серьезная ошибка системного уровня, которая угрожает целостности базы данных и должна быть немедленно исправлена. Выполните полную проверку согласованности базы данных (DBCC CHECKDB). Эта ошибка может быть вызвана многими факторами; Дополнительные сведения см. в электронной документации по SQL Server. (Microsoft SQL Server, ошибка: 823). Для получения справки нажмите:
http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=823&LinkId=20476

Я начал получать это, как только я переместил свой tempdb на мой новый диск D. Выполнение запуска / остановки службы SQL устраняет ошибку. Никогда не получал эту ошибку, когда все было на C. Оба моих диска SSD и зашифрованы с помощью Bitlocker, не уверен, что это может быть проблемой, может быть, диск C разблокирован очень рано, потому что это нужно операционной системе, а диск D разблокируется позже ,

  1. Согласно ответу Макса ( https://dba.stackexchange.com/a/175115 ), отключение «Быстрого запуска» решило мою проблему. В соответствии со статьей Макс ссылается на ( https://www.howtogeek.com/243901/the-pros-and-cons-of-windows-10s-fast-startup-mode/ ), довольно трудно найти в Выберите, что делают кнопки питания », а затем« Изменение настроек, которые в данный момент недоступны ».
  2. В отличие от ответа Venvig ( https://dba.stackexchange.com/a/226115 ), установка для службы «SQL Server» типа запуска = «Автоматический (отложенный запуск)» также позволила решить мою проблему (при повторном запуске Windows’Fast включен).

Я много раз сталкивался с одной и той же проблемой и думал, что должен поделиться своим решением (несмотря на уже предоставленные ответы):

Итак, у меня есть два экземпляра SQL (SQL 2008 и SQL 2017). Ошибка не проявляется в моем экземпляре SQL08, но на SQl17. Это вызвано «учетными данными учетной записи», предоставляемыми во время установки / настройки каждого экземпляра SQL:

введите описание изображения здесь

Это можно увидеть под Windows Services. SQL08 был настроен на использование «Локальной системной учетной записи», а сбой SQL17 был установлен на «NETWORK ACCOUNT» во время установки. Так что просто измените это и перезапустите службу SQL здесь (или перезапустите экземпляр в браузере SQL).

Вторая часть этой проблемы уникальна для SQL Server 2017 CTP 2.0 при использовании SQL Server Management Studio V17, и в этом случае SMO переключился на использование « sys.dm_os_enumerate_fixed_drives » вместо старого « xp_fixeddrives », чтобы получить информацию о свободном пространстве вашего локального диска. , Чтобы обойти это, перейдите к МЕНЕДЖЕРУ УСТРОЙСТВА и временно отключите указанный привод (в моем случае это был диск «G», который является просто моим приводом DVD-ROM).


Эта проблема меня тоже раздражала. У меня есть 5 дБ, подключенных к моему экземпляру SQL Server, 3 из которых работают нормально, но 2 из которых жалуются

Операционная система возвратила ошибку 21 (устройство не готово) к SQL Server во время чтения со смещением 0x00000000204000 в файле ‘E: xxxxxxxx.mdf’

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

  1. Включите Services.msc , найдите службу с именем SQL Server (имя экземпляра) , щелкните правой кнопкой мыши и перезапустите ее.
  2. Вернитесь к ssms, обновите свою базу данных, и все должно работать.

С другой стороны, я попробовал использовать автономный / онлайн-метод. Это не сработало в моем случае. Brute force перезапускает службу sqlserver. это может быть проблемой для тех, чья ставка на отключение всех баз данных слишком высока. Однако, если вы просто делаете локальное развитие, как я, тогда это решение должно подойти.

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

Часто при работе в программах 1С Предприятие можно столкнуться с ошибками базы данных (ошибками СУБД). И так же часто их можно решить простой проверкой физической целостности фала базы данных 1С. Именно с этой целью вместе с программой 1С на ваш компьютер устанавливается утилита под названием chdbfl.exe.

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

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

Как исправить ошибки СУБД в 1С с помощью утилиты chdbfl.exe?

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

2. Найдите и запустите утилиту chdbfl.exe. Обычно она располагается по следующему пути или похожему:

C:Program Files1cv8[самый последний номер платформы, если их несколько]binchdbfl.exe.

В общем случае пройдите по следующему пути: откройте «Мой компьютер» → Далее откройте диск, на который была установлена 1С (обычно это диск под буквой «C») → Потом найдите папку «Program FIles» (или «Program Files (x86)», если она есть) → Следующим шагом откройте папку «1cv8» (если у вас установлена 1С 8.3) или «1cv82» (если установлена 1С 8.2) → Далее вы увидите одну или несколько папок, названных номерами — это номера релизов платформы 1С, если их несколько выбирайте папку с самым последним (большим) номером → Теперь откройте папку «bin» → И уже в ней найдите и откройте файл с названием «chdbfl.exe».

3. Открыв утилиту, нужно указать ей, какой файл базы данных ей нужно исправлять. Чтобы узнать где этот файл располагается, запустите 1С, в окне запуска выберите нужную информационную базу, в том же окне запуска нажмите «Изменить». В открывшемся окошке строка «Каталог информационной базы» — это путь к папке, где лежит файл базы данных. Пройдя по этому пути в утилите, укажите файл базы данных — это будет файл с расширением «.1CD».

4. Проставьте галочку во флажке «Исправлять обнаруженные ошибки».

5. Нажмите кнопку «Выполнить» и дождитесь окончания проверки и исправления.

Как исправить ошибки СУБД, встречающиеся в 1С (утилитой chdbfl.exe) | tekdata.ru

Также вы можете узнать о других способах устранения ошибок 1С из нашей статьи «Как исправить ошибки 1С».

Ошибка при записи документа «Заявка на расходование ДС» в Управление торговлей, ред. 11. Ошибка СУБД: HRESULT=80040E21

Описание ошибки:
Проблема проявила себя после обновления конфигурации рабочей базы 1С: Управление торговлей редакции 11 до релиза 11.1.10.131 и сервера 1С: Предприятия на версию 8.3.5.1517. Документ «Заявка на расходование денежных средств» попросту не записывался и сразу же возникала ошибка.

Найденные решения:

​Служебная информация об ошибке от самой платформы:

Платформа: 1С:Предприятие 8.3 (8.3.5.1517)
Конфигурация: Управление торговлей, редакция 11.1 (11.1.10.131) (http://v8.1c.ru/trade/)
Copyright © ООО «1C», 2003-2015. Все права защищены
(http://www.1c.ru)
Режим: Серверный (сжатие: усиленное)
Приложение: Тонкий клиент
Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)
Вариант интерфейса: Версия 8.2

Ошибки:
———————————————————————————
29.04.2015 13:10:22
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:
по причине:
Ошибка СУБД:
Microsoft SQL Native Client: Произошли ошибки во время выполнения многошаговой операции OLE DB. По возможности, проверьте значения всех состояний OLE DB. Работа не выполнена.
HRESULT=80040E21

HRESULT=80040E21

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

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

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

30-04-2015

Журавлев А.С.
(www.azhur-c.ru)

Содержание:

1.       Ошибка СУБД – файл базы данных поврежден

2.       Создание резервной копии базы данных

3.       Самые распространенные ошибки информационной базы 1С   

1.    Ошибка СУБД – файл базы данных поврежден

Приветствую, коллеги! Сегодня разберем ситуацию, при которой конфигуратор при попытке выгрузить информационную базу сообщает об ошибке СУБД.

Рис. 1 Ошибка СУБД – файл базы данных поврежден

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

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

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

Итак, возникает закономерный вопрос: как сделать резервную копию базы, если процедура «Выгрузить информационную базу» не работает из-за ошибки СУБД?

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


Теперь расскажу, как найти утилиту для исправления базы данных? Переходим туда, где на ПК расположена Ваша база (путь можно посмотреть в свойствах ярлыка на рабочем столе), чаще всего – на диске С. Находим каталог 1cv8, где видим список установленных платформ на текущий момент. Выбираем ту, которую мы запомнили в конфигураторе на предыдущем шаге, заходим в неё, далее – в каталог bin. Теперь нам необходимо найти приложение с именем Chdbfl. Этот файлик будет помечен именно как приложение. Запускаем его

Рис. 2 Приложение chdbfl

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


Нажимаем кнопку «Выполнить» – происходит проверка файла базы данных.

Рис. 3 Окно проверки физической целостности файла

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

2.    Создание резервной копии базы данных

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

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

Как определить, что режим работы файловый, и папку, в которой храниться база? Заходим в лаунчер 1С и выбираем нужную базу. Нажимаем кнопку «Изменить», если указатель стоит на первом пункте, то база файловая, а чуть ниже написано места ее расположения. Изображение номер 4.

Рис. 4 Местонахождение базы на компьютере

Заходим в папку с базой и копируем ее в другое место. Таким образом мы получаем резервную копию базы данных.

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

3.    Самые распространенные ошибки информационной базы 1С

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

Для тестирования и исправления заходим в конфигуратор. Сверху выбираем меню «Администрирование → Тестирование/исправление». Далее выставляем галочки как показано на изображении 5 и нажимаем кнопку «Выполнить».

Рис. 5 Тестирование и исправление базы 1С

Теперь переходим к утилите chdbfl. Находим папку, куда была установлена программа 1С. В ней ищем папку bin, где будет иконка синего цилиндра под названием chdfbl. Запускаем утилиту. В открывшемся окне ищем папку, в которой хранится наша информационная база. Зайдя в неё, выбираем файл 1сv8 1cd. Затем устанавливаем галочку «Исправлять обнаруженные ошибки» и жмем «Выполнить». Когда chdbfl закончит свою работу, можем пробовать зайти в программу.

Как уже было сказано, третий способ – это очистка кэша. Кэшем называют определенное место на компьютере для хранения записей копий страниц в Интернете. Даже единожды зайдя на какой-либо сайт, Вы автоматически создаете на своем ПК его копию, чтобы ускорить загрузку страниц при последующих посещениях. Рекомендуются через некоторое время очищать кэш браузера, так как со временем некоторые страницы сайта обновляются, a кэш этой страницы будет по-прежнему загружать старую версию. Также если Вы обнаружили вирус и на своем компьютере, после его удаления или лечения обязательно почистите кэш браузера, чтобы повторно не заразить компьютер. Если долгое время не чистить кэш, объем копируемых страниц для памяти может существенно увеличиться, тем самым замедляя работу кэширования. Ускорение обработки веб-страницы имеет такой же принцип, как на современных смартфонах.

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

После удаления базы из списка ее нужно опять добавить. Для этого нажимаем кнопку добавить, выбираем второй пункт из трех предложенных, а именно: «Добавление в список существующих ИБ». Нажимаем «Далее», указываем наименование базы, папку, где хранится база, и снова нажимаем «Далее», а затем – «Готово». Теперь мы можем проверять работоспособность программы.

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

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

Рис. 6 Исправление ошибки недостаточно свободно памяти в командной строке

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

Номер четыре – ошибка «Запись дампа», появляющаяся при выполнении какой-либо операции в программе. Данная ошибка показана на рис. 7.

Рис. 7 Окно ошибки дампа

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

Номер пять – ошибка СУБД: Внутренняя ошибка компонента dbeng8.

Изображение 9 – Ошибка СУБД

Для исправления этой ошибки идем по стандартному сценарию: тестирование и исправление; если не помогает, то chdbfl; если также не помогает, то обновление платформы 1С.

Номер шесть – «Неверный формат хранилища данных».

Рис. 9 Ошибка формата хранилища данных

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

Если 1С отказывается запускаться и выдает ошибку: «У текущего пользователя нет доступных ролей для запуска информационной базы», то этому пользователю необходимо назначить соответствующую роль через конфигуратор, перейдя в «Администрирование → Пользователи → [выбрав пользователя] Прочее».

Рис. 10 Ошибка прав доступа

Иногда при старте 1С возникает сообщение об отсутствии прав для запуска требуемого вида клиента. Возможно, был создан новый пользователь вообще без ролей. Как это понять? Заходим в Конфигуратор, переходим к списку пользователей и видим напротив имени интересующего нас сотрудника знак вопроса. Делаем то же самое, что и в предыдущем пункте: заходим в карточку пользователя и на вкладке «Прочие» назначаем ему нужную роль.

Специалист компании «Кодерлайн»

Никита Брежицкий

Понравилась статья? Поделить с друзьями:
  • Пишет ошибка 502
  • Пишет ошибка 5001
  • Пишет ошибка 4119 на терминале
  • Пишет ошибка 105
  • Пишет нет смарт карты триколор ошибка