«Database [database name] cannot be opened due to inaccessible files or insufficient memory or disk space. See the SQL Server error log for details. (Microsoft SQL Server, Error: 945)»
Workable Solutions | Step-by-step Troubleshooting |
---|---|
Fix 1. Enlarge Hard Drive Space | As you can see in the error notification, the SQL database may not be opened due to…Full steps |
Fix 2. Make Sure Autogrowth Is On | Open SQL Server Management Studio and connect to the problematic database…Full steps |
Fix 3. Check the Account Permission | You need to check the account you are using and make sure you have…Full steps |
Fix 4. Check the MDF/NDF File | Find and right-click the «.mdf «or «.ndf» file of your database. Choose «Properties»…Full steps |
Fix 5. Use SQL Database Repair Tool | Stop MS SQL Server service. Press «Windows + R» and enter services.msc…Full steps |
Fix 6. Try DBCC CHECKDB | If there is no backup available, you can also try the DBCC CHECKDB repair option…Full steps |
What Is 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 to 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 Database Cannot Be Opened Due to Inaccessible Files or Insufficient Memory or Disk Space in 6 Ways
According to user experience, there are effectiveness-based solutions to error 945 in SQL Server — Database cannot be opened due to inaccessible files. At the very beginning, you can restart your SQL database through ALTER DATABASE query. This query will help you to set the SQL Server database to online. If this doesn’t work, figure out with the following methods.
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)
- Repairs corrupted SQL server database 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.
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».
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.
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.)
Wrap Things Up
We focused on one of the most common SQL server issues, error 945. We have discussed the possible reasons and solutions to fixing database that cannot be opened due to inaccessible files or insufficient memory or disk space issue. You can try the manual methods to fix SQL server error 945 like enlarge hard drive space, checking account permission, checking database files, and trying DBCC CHECKDB.
For an easier approach, EaseUS SQL repair tool is worth trying. It offers the simplest way to repair corrupted (.mdf and.ndf) files, fix database log files, and recover damaged objects.
More Info: How to Fix SQL Server Error 926
Similar to SQL error 945, SQL error 926 can also occur due to improper connection to SQL Server or using the RESTORE database or RESTORE LOG procedures, showing the error message «Database cannot be opened. It has been marked SUSPECT by recovery». Take the following ways to solve this problem.
- Check DBCC CHECKDB: Check the error report and solve the issue with provided solutions
- Restore from database backup: Restore databases if you have any available backup
- Contact error logs: If you can’t restore the SQL database from backup, you can try to contact primary support or contact the error logs for SQL Server.
Содержание статьи:
-
- SQL-сервер не найден или недоступен, ошибки соединения с SQL-сервером
- Ошибка SQL-сервера 26
- Ошибка SQL-сервера 18456
- Не удалось запустить SQL-server — код ошибки 3417
- Повреждена база данных
- Код ошибки SQL-сервера 945
- Код ошибки SQL-сервера 5172
- Ошибка SQL-сервера 823
- Ошибка SQL-сервера 8946
- Другие ошибки SQL Server
- Код ошибки SQL-сервера 1814
- Код ошибки SQL-сервера 1067
- SQL-сервер запускается, но работает слишком медленно
- SQL-сервер не найден или недоступен, ошибки соединения с SQL-сервером
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-файл не сжимается. Если это не так, отключите “Сжимать содержимое для экономии места на диске” в свойствах файла
Иногда ни один из этих способов не помогает, это значит, что файлы БД повреждены и ее придется восстанавливать из резервной копии.
Повреждена база данных
Код ошибки 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, чтобы восстановить поврежденные файлы
Желательно определить, что именно привело к возникновению ошибок и принять меры, чтобы это не повторялось — заменить плохо работающее оборудование, повысить информационную безопасность.
Другие ошибки SQL
Код ошибки SQL-сервера 1814
SQL-сервер не может создать базу данных tempdb. Убедитесь, что на выделенном под нее диске достаточно места и что у учетной записи хватает прав для записи в указанную директорию.
Код ошибки SQL-сервера 1067
Эта ошибка может возникать по разным причинам. Наиболее часто оказывается, что повреждены или отсутствуют конфигурационные файлы, SQL-сервер обращается к поврежденным системным файлам, ошибочные данные пользователя, нет информации про лицензию. В самых тяжелых случаях придется переустанавливать SQL-сервер. Но иногда помогает восстановление поврежденных файлов или изменение настроек SQL-сервера — вы можете создать новую учетную запись в домене и использовать ее для службы MSSQL.
SQL-сервер запускается, но работает слишком медленно
Проанализируйте журнал сервера, индексы (фрагментацию), запросы, задания, возможность взаимных блокировок. Причин может быть масса.
Мы работаем с разными версиями SQL-сервера уже много лет, знакомы со всевозможными инструкциями SQL-сервера, видели самые разные варианты его настройки и использования на проектах у своих клиентов. В целом мы можем выделить четыре основных источника неполадок:
- Индексы — причина проблем номер один. Неправильные индексы, отсутствующие индексы, слишком много индексов и подобное. Чаще всего при проблеме с индексами пользователи или администраторы базы данных не получают сообщения об ошибке, они просто видят, что база работает очень медленно и докопаться до причин бывает очень нелегко
- изначально плохая архитектура сервера баз данных — ошибка, которую очень сложно и дорого исправлять на этапе, когда база уже используется
- плохой код, в котором возможны блокировки и тупиковые места
- использование конфигурации по умолчанию,
Если у вас не получается устранить ошибки сервера SQL-server самостоятельно, если они появляются снова и снова, то скорее всего в основе лежит одна из этих причин. В таком случае — если у вас произошла ошибка с SQL сервером, ваше ПО не видит SQL-сервер, либо нужно развернуть кластер SQL-серверов — вы всегда можете обратиться за консультацией и технической поддержкой к специалистам Интегруса, отправив заявку с сайта, написав на e-mail, либо позвонив в колл-центр нашей компании.
Присоединяйтесь к нам, чтобы каждую неделю получать полезные и рабочие материалы для улучшения вашего бизнеса.
Кейсы и стратегии от экспертов рынка.
Summary: Worry about how to fix Microsoft SQL Server error 945? No problem. Here is the best solution. This article explains what SQL Server Error 945 is and the different methods that will help you to resolve Microsoft SQL Server Error 945 in an easy manner. Here, the procedure we will discuss is helpful and supports different SQL Server versions like 2008, 2012, 2014, 2016, 2017, 2019, and other versions. You can even use the Aryson SQL Database Recovery Software when your MDF file is corrupted or damaged due to this SQL Server error 945. So, read the complete post to know the accurate solution. Download Now Purchase Now
What is Microsoft SQL Server Error 945?
When discussing the best and most secure database to manage the data, users prefer Microsoft SQL Server the most over others. It stands for structured Query language and is a programming language used to handle the relational database management system. It is an application all organizations use to store and manage their data, and for saving purposes, it uses MDF and NDF files. MS SQL Server can offer you an option to handle multiple operations, and as a user, you can also execute multiple Queries. But at some point, the SQL Server users are going to experience different issues like Microsoft SQL Server Error 945 and others.
Microsoft SQL Server Error 945 is one of the most common errors that occur when users access the Microsoft SQL Server, and suddenly the database cannot be opened because files cannot be accessed or there is insufficient memory or space in the server. When this error occurs, you cannot do anything, and all your database processes get stuck in the middle of the process. So, if you are also facing the same SQL Server Error 945, and want a solution that will help you to resolve this problem, then keep reading this blog.
Responsible Reason Behind the Microsoft SQL Server Error 945
There are different reasons that are responsible for the Microsoft SQL Server error 945. Some of the common causes are:-
- One of the reasons behind this error is that your database is marked as shutdown.
- When the MDF file is not properly attached and detached, and the recovery process won’t be completed, SQL Server may pop up this error.
- Attack of viruses or malware on your SQL Server is also a reason for this SQL Server error 945.
- It may also be possible that your SQL Server Database file is corrupted or damaged.
- Insufficient memory space in the SQL server is also the reason behind this error.
- Failure of the hardware and system also leads to the error.
Best Methods to Fix SQL Server Error 945
To resolve or troubleshoot SQL Server Error 945, there are different methods. All these methods are more or less competent enough to fix the SQL Server database 945 error. Follow the steps of different suggested solutions and overcome the SQL Server Error 945 occurrence.
Method 1: Add More Hard Drive Space
Insufficient space on the disk is also a possible reason behind the Microsoft SQL Server Error 945. It all occurs because your hard drive is full of other data, and there is no sufficient space to store the necessary data. So, adding more space to the Hard drive can overcome the chances of error.
Method 2: Check the Auto Growth Option
You need to check whether the Autogrowth feature is enabled or not. Follow the steps below to enable auto growth:-
- Connect to the SQL Server database and go to the problematic database.
- After that, click on View and then choose Object Explorer.
- Now, you need to expand the database folder.
- Right-click on the database and select properties.
- Here, select the files and go for the autogrowth option.
- Finally, check the option Enable Autogrowth.
Method 3: Check the SQL Server Database MDF and NDF files
One of the other common reasons behind the Microsoft SQL Server error 945 is that your SQL server database files, MDF, and NDF files are in read-only mode. Follow the below procedure to remove the read-only mode of MDF and NDF files:-
- First of all, find and Right-click on the MDF and NDF files.
- Here, you need to select properties >> Security.
- Now, you will find a group username.
- Here, you must select the user to whom you want to give access. Go to the file and then check the permission.
- If permission is not given, then you need to change it by clicking on the edit.
- Now, you need to choose the user and select full control.
Method 4: Fix Microsoft SQL Server error 945 Issue Using a Professional Tool
If none of the above methods will help you to fix this error, then it may be possible that the occurrence of Microsoft SQL Server Error 945 in SQL Server is due to the corrupt or damaged MDF file. So, you need to fix the corruption issues of the SQL Server Database MDF file to resolve the error code 945 in Microsoft SQL Server. This Aryson SQL Database Recovery Software is one the finest utility to repair MDF file in SQL Server and restore all the possible data from it to save them into a live SQL Server or save as SQL compatible script. Once you fix the corruption or damage issue of the MDF files, your SQL Server Error 945 gets resolved by that. In addition, once you recover the data from the MDF and NDF files using this software, you can import them into SQL Server for further use. It also repair master database of SQL Server and recover all data from corrupted database files.
Simple Steps to Fix SQL Server Error 945
- Install and Run SQL Database Repair Tool
- Now, browse the SQL Database files(.mdf) from your system.
- Choose the recovery mode as per the level of corruption.
- Now, the scanning process gets started to recover corrupt data.
- Select the folders you want to restore and click Save SQL data.
- Here, choose SQL server database or SQL script to download data.
- Check the Database connection and click Ok to start the restoring process.
- At last, you will find a pop-up showing the completed process.
Conclusion
If you are having problems accessing some SQL Server databases, it may be possible due to the Microsoft SQL Server Error 945. The above-explained methods will help you troubleshoot the SQL Server 945 error easily, and there is no chance of data loss. But, if the error is due to the corrupt MDF or NDF file, we recommend you try the third-party solution and fix the corruption or damage issue.
Frequently Asked Questions
Q. Can I Fix Microsoft SQL Server Error 945 Manually?
Ans – You can manually fix SQL Server Error code 945 by adding more hard-drive space, enabling the Auto Growth Option and removing the MDF and NDF files from read-only mode.
Q. What is SQL Server Error 945?
Ans – Microsoft SQL Server Error 945 is one of the most common errors of Microsoft SQL Server. It occurs when the SQL Server database is run out of space, or the SQL Server database is not accessible to the users.
Realted Post
MS SQL Error 945 occurs due to lack of storage space, corrupt backup file, improper shutdown of the database, etc.
Here at Bobcares, we help webmasters and server owners resolve MS SQL errors such as this as part of our Server Management Services.
Today, we’ll go through the top causes for this error, and how we fix them.
What are the causes for MS SQL Error 945?
Some of the causes for MS SQL Error 945 are:
- Improper shutdown of the database
- Using corrupt backup file.
- Failed SQL database repair.
- Lack of storage space.
Now, let’s see how we fix it.
How to fix MS SQL Error 945
We have many ways for fixing MS SQL error 945. Let’s see some of them in detail.
Increase hard drive space
One of the reasons for SQL error 945 is disk space issue. Inorder to increase the space, either we remove unnecessary files from hard drive or add new hard drive with larger size.
Account Permission
Incorrect account permission is the another reason for 945 error.
So, we always make sure that the account to perform operations has the right the permission.
For example: As part of database recovery, the user might have to excecute CREATE and INSERT scripts. But if the user has only read access to the database, it may lead to 945 error.
We follow the steps as shown for adding permission for a user.
- Connect to SQL Server instance and from the Object Explorer expand the folders. Then, right click on the name of the user and choose Properties.
- Click the Securables option and click on search.
- Select All Objects belonging to the Schema and Select Schema name as “dbo”. Then, Click OK.
- Next, Identify the table to grant permission.
- Finally, In Explicit>>Permission>>choose the permission>>Grant and Click OK.
Set database to Autogrowth
Auto-growth is a process due to which SQL Server engine expands its database size when it is running out of space. MS SQL error 945 can occur in a scenario where Autogrowth is disabled.
So, for enabling it we follow the steps shown:
- Open SQL Server Management Studio and connect to the database haivng issue.
- Then, click “View” >> “Object Explorer”.
- Next, expand the “Database” folder.
- After that, right-click the database and choose “Properties”.
- Finally, under “Select a Page”, choose “Files” and look for the Autogrowth settings and check the option “Enable Autogrowth”.
Check the MDF and NDF files
MDF and NDF files are primary and secondary data files of an SQL server database.
We may encounter MS SQL error If the MDF or NDF file of the database is marked as read-only.
So, for removing read-only on the MDF or NDF file we follow thw steps shown:
- Search and right-click the “.mdf “or “.ndf” file of database.
- Then, choose “Properties” >>”Security”, there we can see Group or Username.
- Select the user we want to give access to the file and check the permission.
- If the permission to the user is not set to Full Control, we need to change it by clicking “Edit”.
- Then appears Group or Username box. From there select the user and choose “Full Control”.
This fixes the error
[Need assistance in fixing MS SQL errors? Click here to talk to our experts.]
Conclusion
In short, we saw that MS SQL Error 945 can occur due to different reasons like lack of storage, corrupt backup file,Improper shutdown of the database, etc. Also, today we discussed different possible ways by which we can fix this error easily.
PREVENT YOUR SERVER FROM CRASHING!
Never again lose customers to poor server speed! Let us help you.
Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.
GET STARTED
var google_conversion_label = «owonCMyG5nEQ0aD71QM»;
While trying to access databases, logins, etc in SQL Server Management Studio 2008 R2, below error is always popping up. I browsed over google to find out a solution but those resolutions did not solved below issue. I have sufficient permissions and have enough disk space. When clicked on any entity in Object Explorer of SQL Management Studio the below exception appears.
asked Jan 17, 2017 at 11:30
4
Once you made the space, close your Management Studio and goto services.msc and restart the SQL Server () service, that will resolve your issue.
answered Jul 9, 2020 at 11:15
You can try these options:
- Add more hard drive space by removing unnecessary files or add the new hard drive.
- Check the Autogrow
- Check the database account permission
- MDF and LDF shouldn’t be marked as read-only on OS file system level
Good Luck!
answered Jan 18, 2017 at 4:33
In my case, I have also received same error, and DB Size in Plesk is showing 0Bytes.
After checking in SQL Server, I found that in-front of my database showing > (Recovery Pending) message just next to database.
In Plesk, I have used «Repair Database» option Forcefully, and after that my DB is showing exact DB Size = 100MB, where previously it was showing 0Bytes.
Hope it helps anyone, getting this error in Plesk hosting.
answered Jul 24, 2020 at 9:03
MachindraMachindra
1011 silver badge5 bronze badges
In my case, the MDF file was deleted.
check the directory C:Program FilesMicrosoft SQL ServerMSSQL15.[sqlserver edittion]MSSQLDATA
to see if the .mdf file is in place
answered Nov 30, 2021 at 16:43
Olawale davidOlawale david
1,3871 gold badge9 silver badges12 bronze badges