How to Fix Operating System Error 5: (Access is Denied) in MS SQL Server?

Summary: The error “Operating system error 5: Access is denied” in SQL Server usually occurs due to lack of permissions, corruption in database/backup file, and other reasons. This post summarizes the causes behind the error and mentions some effective solutions to fix it. If the issue is associated with corruption in the SQL database/backup file, you can use the Stellar Repair for MS SQL Technician software mentioned in the post to repair the corrupt file.

You may encounter the error “Operating system error 5: Access is denied” while restoring backup, creating backup, or accessing/creating the database in SQL Server. The error occurs when the SQL Server fails to read the file you are attempting to access. The complete error message looks like this:

Msg 5120, Level 16, State 101, Line 1

Unable to open the physical file “R:\productions\stellar_database.mdf”. Operating system error 5: “5(Access is denied.)”.

Msg 1802, Level 16, State 7, Line 1

CREATE DATABASE failed. Some file names listed could not be created. Check related errors.

This error prevents you from accessing the SQL database or backup file. Below, we will see the reasons that can lead to such an error and see how to fix it.

Causes of the Operating System Error 5: 5 (Access is denied) in SQL Server

The “Access is denied” error in SQL may occur due to the following reasons:

Solutions to Fix the Error “Operating System Error 5: 5(Access is denied) in SQL Server

The error “Access is denied” in SQL Server can occur if there is some issue with the backup file you’re trying to access. Check whether you have selected the correct backup file with correct name. Sometimes, simply changing the backup file location can fix this error. You can also try changing the location of the file. If the error persists, then follow the below solutions to resolve this SQL Server error.

Solution 1: Check the File and Folder Path

You can get the Operating system error 5: ‘5(Access is denied)’ in SQL Server, if there is an issue with the backup file path – either the path does not exist or it is not valid. Make sure the backup file path is correct and accessible from the SQL Server instance. If you’re using the T-SQL command to restore the backup, then check if you’ve entered the correct backup file path in the query.

Solution 2: Check and Grant the Required Permissions

If you don’t have sufficient permissions on the folder where your backup file is saved, then you may not able to access or restore the backup file and encounter the error. You can check and provide the right permissions to fix the issue. Here’s how to do so:

Note: If you do not have permission to grant permissions for the folder, you can ask the system administrator to grant the required permissions.

Solution 3: Run SSMS as Administrator

The “Access is denied” error can also occur if you are not running the SQL Server Management Studio (SSMS) as an administrator. To run SSMS with admin rights,

Solution 4: Check SQL Server Database Engine Service Account Permissions

The Service Account, under which your SQL Server Service runs, must have the permissions to read and write files in the directories where the database files are stored. If it lacks such permissions, the server will fail to read, write, attach, and detach the database files, leading to the “Access is denied” error. You can check and ensure that your SQL Server Service Account has the required permissions. If you don’t know the service account under which your SQL Server runs, run the below command:

SELECT servicename, service_account

FROM sys.dm_server_services;

Once you know the Service Account and Service Name, then check and grant the required permissions. You can simply add the Administrators group to the security permissions for the data directories where the data and log files are saved by using the SSMS. 

Solution 5: Repair your Database File

SQL Server may fail to access the database file, if it is corrupted or damaged. In such a case, you can try restoring the database from backup. If you do not have a current backup, then you can repair the database by using the DBCC CHECKDB command. Here is the syntax:

DBCC CHECKDB

    [ ( database_name | database_id | 0

        [ , NOINDEX

        | , { REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD } ]

    ) ]

    [ WITH

        {

            [ ALL_ERRORMSGS ]

            [ , EXTENDED_LOGICAL_CHECKS ]

            [ , NO_INFOMSGS ]

            [ , TABLOCK ]

            [ , ESTIMATEONLY ]

            [ , { PHYSICAL_ONLY | DATA_PURITY } ]

            [ , MAXDOP = number_of_processors ]

        }

    ]

]

Note: The DBCC CHECKDB command with REPAIR_ALLOW_DATA_LOSS option can help you repair the database but can cause data loss.

Solution 6: Repair your Backup File

If your backup file is corrupted, then you may fail to restore it and get the “Operating system error 5 – Access is denied” error. In such a situation, you can use Stellar Repair for MS SQL Technician – a professional SQL repair software that can recover all the data from corrupt SQL database backup (.bak) file. The software supports all SQL backup types, including Full Backup, Differential Backup, and Transaction Log Backup. It can also repair corrupted database (MDF/NDF) files and recover all the objects, including deleted records, with complete precision. The tool is compatible with MS SQL Server 2022, 2019, and lower versions.

Conclusion

The error “Operating system error 5: “(Access is denied)” in SQL Server can occur due to various reasons. You can follow the methods mentioned in this post to resolve the error. If the backup file or the database file you are trying to access is corrupted or damaged, then you can use Stellar Repair for MS SQL Technician. This software is designed to repair corrupt or damaged SQL database and backup files, and recover all the objects with complete integrity.

Related Post

Exit mobile version