Issue:-
Permission error occurs when you use a volume mount point in SQL Server Setup
Problem:-
When you install SQL Server 2016 RTM/2014 RTM/2012 RTM on Windows Server 2012 R2, the Installation fails in Cluster when you assign a SQL Server system folder (such the data or LOG file location) to a volume mount point root folder and you receive the following error message:-
The Following error has occurred:-
updating permission setting for file 'F:\INST21_DAta\System Volumne Information\ResumeKeyFilter.store failed. The file permission settings were supposed to be set to D:P(A;OICI;FA;;;BA)(A;OICI;FA;;;SY)(A;OICI;FA;;;S-1-5-80-1237161748-11049725-35363445448-169532831-1350696550)'
As far as using Mount Points with SQL Server is concerned below are recommended
The key points for mount points in combination with SQL Server 2005, 2008, 2008 R2 and above are:
- A valid mount point that can be used by SQL Server databases is one that is mounted to a host volume (a shared drive in a cluster) that is associated with a drive letter. Multiple mount points can be hosted by a single drive meaning multiple mount points share a drive letter.
- In a cluster, SQL Server must depend on each mount point it uses to avoid database corruption.
- Do not install SQL Server to the root directory of a mount point, always specify a subdirectory for all files. This has to do with how permissions are granted. If you must put files in the root of the mount point you must manually manage the ACLs/permissions.
- Do not put DTC on a mount point.
- we should not use Cluster Disk X and Cluster Disk Y on the same drive letter. This will lead to fatal error.
For various reasons such as standardization, flexibility, space management, and just not enough letters in the alphabet many people use mount points on their servers. A mount point (aka mounted drive or volume junction) is a separate file system that is “mounted” onto a host drive so that it appears to be a subdirectory of the host drive. For example, say you have LUN volume A that is made visible to Windows as drive X:. You have a LUN volume B from another storage array and you want to present it to Windows. You might choose to mount it as X:\SQL1. To SQL it looks like a sub-directory, but it’s really a whole different file system. Because it is a different file system, permissions are not inherited from the host system. So when you grant permissions to X: and say to propagate them to child folders, they are NOT applied to the mount point!
Hence in order to resolve this issue:-
To resolve this problem, create a subfolder in the volume mount point, and assign the new subfolder to the SQL Server system folders.
After creating sub folder on the volume mount point, the issue resolved.
Thanks for Reading..