Raw device support and trying to move the data files of a database to a local disk in failover clustered environments

Even though the documentation doesn't explicitly explain the existence of this limitation, a failover clustered instance of SQL Server (whether it is 2000 or 2005) doesn't support loading data or log files of any database from disks other than those which are part of the SQL Server cluster group and which have a dependency on the SQL Server resource.

So, if you try to create a new database, specifying a volume that doesn't meet these requirements, in the path of any of the database files you get back an error 5184 from SQL Server engine. The message text in SQL Server 2000 says:

Cannot use file '%.*ls' for clustered server. Only formatted files on which the cluster resource of the server has a dependency can be used.

while in SQL Server 2005, we have improved it and now it says:

Cannot use file '%.*ls' for clustered server. Only formatted files on which the cluster resource of the server has a dependency can be used. Either the disk resource containing the file is not present in the cluster group or the cluster resource of the Sql Server does not have a dependency on it.

Another limitation which is not explicitly mentioned in the documentation is that locating database files on raw devices is not supported for failover clustered instances. If on a clustered instance, you try to create a database with any of its files pointing to a raw device, you get error 5184, if you're working with SQL Server 2000:

Cannot use file '%.*ls' for clustered server. Only formatted files on which the cluster resource of the server has a dependency can be used.

and a new separate error, 5199, if you're working on SQL Server 2005:

The path specified by "%.*ls" is a raw device. Raw device path is not supported in failover clustered enviornment.

which is in my opinion a good improvement, since error message for 5184, could even be confusing and didn't help in concluding that raw devices were not supported in clustered environments.

You not only will get those errors while creating a new database, but they could also be raised if you try to move the files of an existing database to one of those two unsupported locations.

That was it about errors 5184 and 5199.