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:

  • Disproportionate storage consumed by memory-optimized tables
  • SQL database repair failure due to some missing files
  • Using corrupt backup
  • Improper shutdown of the database
  • Malware attacks

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

How to Fix SQL Error 945

According to user experience, there are the effectiveness-based solutions to error 945 in SQL Server — Database cannot be opened due to inaccessible files:

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

Go to the error log and see why the database goes wrong. If it is due to a persistent I/O error related to Application Programming Interface, a torn page, or other hardware issues then resolved it by restoring the database from backup. If you don’t have any backup available, you can repair your SQL database with the professional MS SQL repair tool — EaseUS MS SQL Recovery.

  • Repairs corrupted SQL database files (MDF/NDF files) components — tables, triggers, indexes, keys, rules & stored procedures
  • Recovers deleted/dropped records from SQL Database

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.

If you don’t know the file location, click «Search» to search for the. mdf or. ndf file in.

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.)

Troubleshooting MS SQL Server Error 945 – Reasons & Solutions

Let’s take a scenario to understand the SQL Server error 945: Database cannot be opened due to inaccessible files or insufficient memory or disk space. See the SQL Server Error Log for details.

“I received a query saying the SQL database is not accessible and the database goes in suspect mode. Also, Database operation was ceased and the SQL Server database stopped the transactions. Does anyone know the solution, please help me out? Why is this happening and how to resolve it?”

According to an above-discussed scenario, it is found SQL error 945 occurs when the attaching and detaching of MDF file is not properly done and recovery procedure fails to bring the database in a consistent state. Improper shutdown of the database and malware attacks is also the responsible reasons for this error.

Here, we will discuss the suspect database and the possible reasons behind why database becomes suspect. Also, we will cover the method to resolve SQL Server error 945.

What is Suspect Database in SQL Server?

Microsoft SQL Server serves as a store for data that is required for different applications either on a single system or across a network. But, sometimes users may face difficulty when the SQL Server database is running under the state marked as suspect. Because this condition will lead to a failure in creating a connection with the database. Database marked as Suspect can be accessed by removing the causes for this SQL Server 945 error.

SQL Server Database is in Suspect Mode — Possible Reasons

There are several reasons that can make the SQL Server database suspected. Some of the common reasons are:

  • If SQL database files are used by the operating system.
  • If SQL Server Database is corrupted.
  • Insufficient space available in SQL server.
  • SQL files are used by any other backup software.
  • Sudden SQL Server Shutdown.
  • Hardware or Power Failure.

How to Fix Microsoft SQL Server Error 945?

Perform the following steps to resolve “Windows could not start the SQL server error 945” :

  1. At first, you should try to add more hard drive space either by removing of unnecessary files from the hard drive or add a new hard drive with the larger size.
  2. Check if the database is set to Auto growth.
  3. Check if the account which is trying to use the database has enough permission to perform any operation.
  4. Make sure that MDF and LDF files are not marked as read-only.

An Effortless Solution to Resolve Microsoft SQL Error 945

If your SQL Database file is found to be severely corrupted, it could be the possibility that the above method gets failed to fix SQL Server code 945. In order to fix Microsoft SQL Server error 945 quickly, you can go for an automated solution i. e SysTools SQL MDF Recovery Tool. The tool repair corrupt SQL MDF file and give two options to export your recovered SQL Server database. Moreover, by using this Professional software, you can easily make your database from suspect mode to normal mode.

How to Use SysTools Database Recovery Software?

Step 1. Launch SQL Recovery Software on your local machine.

SQL Recovery

Step 2. Click Open and Load MDF file that you want to recover.

Recover MDF File

Step 3. After that, click on Advance Scan and click Auto Detect if you don’t know MDF file version. The user can check the option preview deleted records in red color.

Recover SQL Database

Step 4. After scanning, the software will display the preview of data items.

Repair SQL Database

Step 5. Click on Export to save the recovered database.

Restore SQL Database

Wrapping Up

In this article, we have discussed the most common SQL user and DBA faces MS SQL error 945. The blog discusses the possible reason why SQL database becomes inaccessible. It also covers the manual approach to fix SQL Server error 945. For simple, easy and effortless solution, SQL recovery Tool is recommended above. It is the easiest approach to fix SQL error 945 from the MS SQL server.

Frequently Asked Questions

You can use the SQL database repair tool to repair corrupt MDF file and access your data easily.

Yes, the automated tool mentioned above allows you to restore deleted database objects like tables, stored procedures, functions, views, rules, etc.

About The Author

Ashwani Tiwari

Being a Chief Technical Operator, I am aware of the technicalities faced by the user while working with multiple technologies. So, through my blogs and articles, I love to help all the users who face various challenges while dealing with technology.

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

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

  • Если SQL-сервер не найден, убедитесь, что ваш экземпляр SQL-сервера действительно установлен и запущен. Для этого зайдите на компьютер, где он установлен, запустите диспетчер конфигурации SQL и проверьте, есть ли там тот экземпляр, к которому вы пытаетесь подключиться и запущен ли он. Нелишним будет также получить отчет об обнаружении компонентов SQL-серверов.
  • Если вы проделали п1. и не обнаружили источник проблемы, возможно, неверно указан IP-адрес компьютера или номер порта TCP. Перепроверьте их настройки.
  • Причиной того, что невозможно подключиться к SQL-серверу, также может быть сеть, убедитесь, что компьютер с SQL-сервером доступен по сети.
  • Проверьте, может ли клиентское приложение, установленное на том же компьютере, что и сервер, подключиться к SQL-серверу. Запустите SQL Server Management Studio(SSMS), в диалоговом окне “Подключиться к серверу” выберите тип сервера Database Engine, укажите способ аутентификации “Аутентификация Windows”, введите имя компьютера и экземпляра SQL-сервера. Проверьте подключение.

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

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

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

  • в SSMS в настройках SQL-сервера включите аутентификацию Windows
  • для брандмауэра Windows создайте новое правило, которое разрешает подключение для всех программ и протоколов с указанного IP-адреса
  • убедитесь, что запущена служба SQL Server Browser

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

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

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

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

  • зайдите в C:Program FilesMicrosoft SQLServerMSSQL.1MSSqLData — БезопасностьНастройки доступа — Учетная запись сетевой службы — добавьте учетную запись сетевой службы
  • проверьте, что MDF-файл не сжимается. Если это не так, отключите “Сжимать содержимое для экономии места на диске” в свойствах файла

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

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

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

Нажмите Win + R и выполните команду services. msc .

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

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

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

Затем введите пароль, и примените изменения на «ОК». Закройте окно, и перезагрузите компьютер. В большинстве случаев, этим способом удается исправить ошибку с кодом 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 можно устранить двумя методами:

  • если у вас есть свежая резервная копия базы — восстановить базу из этой копии
  • можно попробовать использовать специализированное ПО, такое как SQL Recovery Tool, чтобы восстановить поврежденные файлы

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

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

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

Откройте редактор реестра выполнением команды 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.

Источники:

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

https://www. systoolsgroup. com/updates/fix-sql-server-error-945/

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

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

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