How to Restore SQL Server 2012 Database Backup to SQL Server 2008?

Ideally, there is no way you can restore MS SQL Server 2012 database to SQL Server 2008 even if the database was in a compatibility mode matching the lower version. Regardless of the chosen compatibility mode, SQL Server 2012 is still a 2012 database internally. Hence, SQL Server 2008 wouldn't be able to understand the internal structure of the MS SQL Server 2012 database, and the database won't' be restored.

The best bet is to create an empty database on SQL Server 2008 and run Generate Scripts wizard in Management Studio to script the schema and data. Following are the steps.

IMPORTANT: This method is only applicable if your database size is under a couple of hundred MBs. If you script out big databases with schema and data, the script might get huge and could not be handled by Management Studio or SQLCMD.

1. Connect to MS SQL Server 2012 using Management Studio.

2. Expand the Databases and right-click on the database you want to script. Select Tasks  >> Generate Scripts option.

Generate Script

3. Skip the introduction screen and click on Choose Objects option.

Choose Object

4. Keep the option Script entire database and all database objects checked and click on Set Scripting Options.

5. On the Specify how scripts should be saved or published page, click Advanced.

Generate Publish Script

6. Under General, locate Types of data to script and change it from Schema only to Schema and dataChange Script for Server Version from SQL Server 2012 to SQL Server 2008. Make sure you set the correct target version of SQL Server 2008 here.

Types Of Data

Set Scripting Option

7. Click on OK. Click on Next 2 times and then Finish.

Was this answer helpful?

« Back