Fixed SQL Error 945 | Database Cannot Be Opened due to Inaccessible Files

Содержание

[Fixed] SQL Error 945 |

SQL Server error 945 happens when a database is marked as «IsShutdown» or when the attaching and detaching of MDF file is not properly done and the recovery procedure fails to bring the database in a consistent state. It may occur due to different reasons:

When you are bothered by the SQL Server error 945, there are six solutions to try.

How to Fix SQL Error 945

Fix 1. Enlarge Hard Drive Space

As you can see in the error notification, the SQL database may not be opened due to insufficient disk space, getting rid of the unnecessary files on the corresponding hard drive or add a larger hard drive is a potential solution to the SQL Server error 945. If you are worried about data loss, you can back up the hard drive with free backup software in advance before the removal.

Fix 2. Make Sure Autogrowth Is On

Since the database must be set to Autogrowth, you need to check and make sure the option is enabled. Here is the way to enable Autogrowth:

Step 1. Open SQL Server Management Studio and connect to the problematic database.

Step 2. Click «View» > «Object Explorer».

Step 3. Expand the «Database» folder.

Step 4. Right-click the database and choose «Properties».

Step 5. Under «Select a Page», choose «Files» and look for the Autogrowth settings and check the option «Enable Autogrowth».

Fix 3. Check the Account Permission

You need to check the account you are using and make sure you have the correct permission to perform operations.

Fix 4. Check the MDF/NDF File of the Database

If the MDF or NDF file of the database is marked as read-only, you may encounter the SQL error 945. Thus, be sure that the MDF and NDF files are not shown as read-only. To remove read-only on the MDF or NDF file:

Step 1. Find and right-click the «.mdf «or «.ndf» file of your database. Choose «Properties» > «Security», then you will see Group or Username.

Step 2. Select the user you want to give access to the file and check the permission.

Step 3. If the permission is not set to Full Control, you need to change it by clicking «Edit».

Step 4. Then you will see the Group or Username box. In that box, select the user and choose «Full Control».

Fix 5. Use SQL Database Repair Tool

Let’s see how to repair your database with it:

Step 1. Stop MS SQL Server service

Press «Windows + R» and enter services. msc.

Find and double-click «SQL Server (instant name)».

In the Properties windows, click «Stop» to end the SQL Server and click «Apply» to confirm.

Step 2. Run EaseUS SQL repair tool. In the main interface, click «Browse» (the two dots) to choose the corrupted MDF/NDF file. Then click «Repair» to start analyzing your MDF/NDFВ file. В

If you know the exact location of the file, click «Browse» to locate the database.

select the SQL database file

Step 3. When it has done, you will see all the database objects listed in the left pane of the window. Choose the database objects you’d like to repair and click «Export».

Select the database objects

Step 4. Choose a preferred way to export the database data: «Export to database» or «Export as SQL scripts». If you select «Export to database», you need to further select the server information, log into your account, and select a destination database, either a new one or an existing one.

export the SQL database objects

Step 5. Before you click «OK», now you need to restart the SQL Server.

Press «Windows + R» and enter services. msc.

Find and double-click «SQL Server (instant name)».

In the Properties windows, click «Start» to restart the SQL Server service and click «Apply» to confirm.

Step 6. Click «OK» to save the repaired files to your desired SQL database.

Fix 6. Try DBCC CHECKDB Repair Option

If there is no backup available, you can also try the DBCC CHECKDB repair option. However, it is not recommended since it may induce the Suspect Mode of your SQL database, which may further lead to another SQL Server database error 926. (Click to see more SQL database errors.)

sql-server — SQL Server не запускается при запуске Windows, но запускается вручную

SQL-сервер не найден или недоступен, ошибки соединения с SQL-сервером

Обратите внимание, что многие сообщения об ошибках могут быть не показаны или не содержат достаточной информации для устранения проблемы. Это сделано из соображений безопасности, чтобы при попытке взлома злоумышленники не могли получить информацию об SQL-сервере. Полные сведения содержатся в логе ошибок, который обычно хранится по адресу C:Program FilesMicrosoft SQL ServerMSSQL13.MSSQLSERVERMSSQLLogERRORLOG, или там, куда его поместил администратор системы.

Ошибка SQL-сервера 26

Одна из наиболее часто встречающихся ошибок подключения к SQL-серверу, обычно связана с тем, что в настройках SQL-сервера не разрешены или ограничены удаленные соединения. Чтобы это исправить, попробуйте:

Ошибка SQL-сервера 18456

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

Не удалось запустить SQL-server — код ошибки 3417

Возникает в случае, если были изменены настройки Windows или перемещена папка с файлами MSSQL.

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

Предоставление учетной записи управлять службой

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

Найдите службу, которая выдает ошибку, щелкните на нее правой кнопкой мыши и перейдите в Свойства. На вкладке Общие посмотрите состояние. Если она запущена, остановите ее нажатием на соответствующую кнопку.

Затем на вкладке Вход в систему кликните на «Обзор».

В поле ввода имен выбираемых объектов наберите имя текущей учетной записи, кликните на «Проверить имена», чтобы проверить ее правильность, и нажмите на «ОК». Либо выберите имя с помощью кнопок Дополнительно – Поиск.

Затем введите пароль, и примените изменения на «ОК». Закройте окно, и перезагрузите компьютер. В большинстве случаев, этим способом удается исправить ошибку с кодом 1607.

Повреждена база данных

Код ошибки SQL-сервера 945

Ошибка 945 возникает, когда БД SQL-сервера помечена как IsShutdown. Проверьте, достаточно ли места на диске, достаточно ли прав у учетной записи для операций с БД, файлы MDF и LDF не должны быть помечены “Только для чтения”.

Код ошибки SQL-сервера 5172

SQL-сервер хранит свою физическую БД в первичном файле, в котором информация разбита постранично. Первая страница содержит информацию о заголовке mdf-файла и называется страницей заголовка. Она состоит из разнообразной информации о БД, такой как размер файла, подпись и т. д. В процессе прикрепления MDF на SQL-сервере часто возникает ошибка 5172. Это в основном происходит, если MDF-файл поврежден, информация в его заголовке тоже и соответственно сложно добраться до данных. Причиной может быть вирус, аварийное выключение системы, ошибка оборудования.

Ошибка SQL-сервера 823

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

Ошибка SQL-сервера 8946

Основной причиной ошибки 8946 так же, как и для 5172, является повреждение заголовков страниц БД SQL вследствие сбоя питания, вирусной атаки, отказа оборудования — SQL-сервер больше не может прочесть эти страницы.

Перечисленные ошибки 945, 5172, 823, 8946 можно устранить двумя методами:

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

Переустановка службы

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

Откройте редактор реестра выполнением команды regedit из окна Win + R.

На левой панели перейдите к разделу:

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

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

Правым щелчком мыши на службе в левой панели вызовите контекстное меню и выберите «Разрешения».

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

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

После этого попробуйте снова удалить раздел и перезагрузите компьютер.

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

Запустите следующую команду, которая позволит восстановить удаленный раздел из реестра:

Дождитесь завершения сканирования и перезапустите ПК. Проверьте, решена ли проблема.

Другие ошибки SQL

Код ошибки SQL-сервера 1814

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

Код ошибки SQL-сервера 1067

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

SQL-сервер запускается, но работает слишком медленно

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

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

Если у вас не получается устранить ошибки сервера SQL-server самостоятельно, если они появляются снова и снова, то скорее всего в основе лежит одна из этих причин. В таком случае — если у вас произошла ошибка с SQL сервером, ваше ПО не видит SQL-сервер, либо нужно развернуть кластер SQL-серверов — вы всегда можете обратиться за консультацией и технической поддержкой к специалистам Интегруса, отправив заявку с сайта, написав на e-mail, либо позвонив в колл-центр нашей компании.

ico-info. png

Присоединяйтесь к нам,

чтобы получать чек-листы, реальные кейсы, а также
обзоры сервисов раз в 2 недели.

Перезапуск MySQL

Если ошибка 1607 связана со MySQL, сначала ее остановим, затем удалим несколько файлов в каталоге установки.

Откройте Панель управления командой control из окна Win + R.

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

Найдите MySQL и дважды кликните на нее, чтобы открыть свойства. Остановите ее нажатием на соответствующую кнопку.

Затем перейдите в проводнике в каталог установки MySQL, который находится на системном диске в папке Program Files (x86). Откройте его и перейдите в папку Data. Найдите два файла ib_logfile0 и ib_logfile1, кликните на них правой кнопкой мыши и удалите.

Вернитесь в окно служб и запустите MySQL. Проверьте, удалось ли устранить ошибку 1067.

Ошибка 1067 «Не удалось запустить службу» – как исправить?

Сообщение об ошибке 1067 «Процесс был неожиданно завершен» возникает при попытке выполнить действие, которое вызывает запуск службы. Чаще происходит при запуске службы SQL и ей подобных. Узнаем подробнее, как ее исправить.

Предоставление учетной записи управлять службой

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

Найдите службу, которая выдает ошибку, щелкните на нее правой кнопкой мыши и перейдите в Свойства. На вкладке Общие посмотрите состояние. Если она запущена, остановите ее нажатием на соответствующую кнопку.

Затем на вкладке Вход в систему кликните на «Обзор».

В поле ввода имен выбираемых объектов наберите имя текущей учетной записи, кликните на «Проверить имена», чтобы проверить ее правильность, и нажмите на «ОК». Либо выберите имя с помощью кнопок Дополнительно – Поиск.

Затем введите пароль, и примените изменения на «ОК». Закройте окно, и перезагрузите компьютер. В большинстве случаев, этим способом удается исправить ошибку с кодом 1607.

Переустановка службы

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

Откройте редактор реестра выполнением команды regedit из окна Win + R.

На левой панели перейдите к разделу:

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

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

Правым щелчком мыши на службе в левой панели вызовите контекстное меню и выберите «Разрешения».

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

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

После этого попробуйте снова удалить раздел и перезагрузите компьютер.

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

Запустите следующую команду, которая позволит восстановить удаленный раздел из реестра:

Дождитесь завершения сканирования и перезапустите ПК. Проверьте, решена ли проблема.

Перезапуск MySQL

Если ошибка 1607 связана со MySQL, сначала ее остановим, затем удалим несколько файлов в каталоге установки.

Откройте Панель управления командой control из окна Win + R.

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

Найдите MySQL и дважды кликните на нее, чтобы открыть свойства. Остановите ее нажатием на соответствующую кнопку.

Затем перейдите в проводнике в каталог установки MySQL, который находится на системном диске в папке Program Files (x86). Откройте его и перейдите в папку Data. Найдите два файла ib_logfile0 и ib_logfile1, кликните на них правой кнопкой мыши и удалите.

Вернитесь в окно служб и запустите MySQL. Проверьте, удалось ли устранить ошибку 1067.

Источники:

https://www. easeus. com/sql-database-recovery/sql-error-945.html

https://vkspy. info/pc/sql-server-sql-server-ne-zapuskaetsya-pri-zapuske-windows-no-zapuskaetsya-vruchnuyu

https://compuals. ru/error/1067-protsess-byl-neozhidanno-zavershen

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: