Tuesday, December 2, 2014

Disk resource could not be moved error when installing SQL Server 2012 failover cluster

SQL Server 2012 failover cluster installation fails with the following error:

"The resource 'Disk Z' could not be moved from cluster group 'Available Storage' to cluster group 'SQL Server (MSSQLSERVER)'. Error: There was a failure to call cluster code from a provider. Exception message: Generic failure . Status code: 183. Description: Cannot create a file when that file already exists."

This comes up when you are installing the SQL instance onto mount points under a root mount point. The cluster install has trouble adding these disk resources to the SQL Server cluster group and setting its dependencies.

To fix:

1. The failed installation may have partially installed the SQL instance. If that is the case, uninstall the instance first. Do this by using the "Remove node from a SQL Server failover cluster" option.

2. In the Failover Cluster Manager, right click on Roles and select Create Empty Role:

3. Rename the role to your desired instance name, eg. "SQL Server (MSSQLSERVER)"

4. Right click on the role and click Add Storage

5. Select the mount points to be used for this instance, including the root mount point, and add them to this role.

Now when you re-run the cluster installation, it should complete successfully.