The following error occurred today when attaching a SQL Server 2000 database to SQL Server 2005: The attached database failed for server (MICROSOFT.SQLSERVER.SMO), database test cannot be upgraded because it is read-only, Or have read-only files. Make the database or file writable, and then rerun the recovery operation. (Microsoft SQL Server, error: 3415)
Viewed the database files, they do not have read-only properties, and the addition of SQL Server 2000 is all normal.
After consulting the data, found that is not a file read-only problem, strictly speaking should be a "permission" problem, the current SQL Server login account does not have to attach files to write permission, there will be the above "read-only" hint, the solution has the following several ways:
1. Copy the attached file to the SQL Server default Data directory, at which point the add-on will succeed;
2. At logon authentication, choose Windows Authentication instead of SQL Server authentication, even if your login account is sa;
3. If you must use SQL Server authentication, change the permissions on the login account to have full operational rights to the file you want to attach;
4. Change the account logon status of SQL Server service from Network service to local service;
I encountered this situation, using the second method to solve the problem.