Sql – MSSQL 2008 R2- Restoring MASTER database from v10.00.1600 to v10.50.1600 fails with error

database-restoresqlwindows-server-2008

I backed up the master database on a machine with SQL Server 2008 version 10.00.1600. Then I turned on SQL Server in single-user mode on the new machine with SQL Server 2008 R2 version 10.50.1600 with the following command (using sqlcmd)

RESTORE DATABASE master FROM DISK = 'D:\master.bak' WITH REPLACE;

Running this command gets me the following error…..

Msg 3168, Level 16, State 1, Server
U15417546, Line 1 The backup of the
system database on the device
D:\master.bak cannot be restored
because it was created by a different
version of the server (10.00.1600)
than this server (10.50.1600). Msg
3013, Level 16, State 1, Server
U15417546, Line 1 RESTORE DATABASE is
terminating abnormally.

Running the following command on both servers allowed me to verify that the version numbers I posted in the beginning are correct.

SELECT SERVERPROPERTY('Edition') AS Edition,
 SERVERPROPERTY('ProductVersion') AS ProductVersion,
 SERVERPROPERTY('ProductLevel') AS ProductLevel

Since I am restoring from a lower version, to a higher version, I assume the restore should be able to complete? I have not been able to find much help regarding this, so any information would be much appreciated.

Best Answer

With a non-system database this is certainly the case. I haven't ever attempted this with a system database and it may be that SQL Server will prevent it from occurring. Plan B would be to upgrade the source server to R2 and then restore master to the target server but you've likely considered this approach.