Pages

Men

rh

5/09/2013

Attach Sample Database - Adventureworks in SQL Server 2012

Problem

The sample database AdventureWorks plays an important role while performing test operations and learning about new features. So after the installation of SQL Server 2012 and searching for the sample database AdventureWorks I found that it contains only the "mdf" file to download.  This tip gives you the steps you need to follow to install the sample database with only the data (mdf) file.

Solution

First of all, download the AdventureWorks for SQL Server 2012 from this Microsoft link: Download Adventure Works for SQL Server 2012 (Notice that the download only contains the mdf file).

Attach Using SSMS

I tried to attach the database using SQL Server Management Studio as follows:
Right Click on Databases > Attach and click Add... > select the AdventureWorks mdf file. 
sql server attach database ssms
Notice the message above in front of log file "Not Found". However if I click on OK to proceed with the attach database I get the following error.
ssms attach database error
By using SQL Server Management Studio we cannot simply attach the sample database “AdventureWorks” without the log file.  What we need to do is to delete the log file from the attach database.
To do this, select the log file which is showing as "Not Found" as seen below.
sql server attach database files
Select the log file and remove the log file by clicking on the Remove button.  The attach now only contains the MDF as shown below. Click OK to attach the database and this should work.
ssms remove delete log file for attach
attached database in sql server

Using T-SQL to Attach the Database

To attach a database without the log file we need to use the Attach_Rebuild_Log option.
The ATTACH_REBUILD_LOG specifies that the database is created by attaching an existing set of operating system files. If one or more transaction log files are missing, the log file is rebuilt using this command. The ATTACH_REBUILD_LOG automatically creates a new, 1-MB log file and this file is placed in the default log file location.
So the command would be:
CREATE DATABASE AdventureWorks2012_Data
ON (FILENAME = N'E:\SQLData\AdventureWorks2012_Data.mdf')
FOR ATTACH_REBUILD_LOG 
Go

using attach rebuild log to attach database in sql server
As the screenshot above shows SQL Server created a new log file for the database.
In order to use the ATTACH_REBUILD_LOG this requires the following:
  • A clean shutdown of the database
  • All data files (MDF and NDF) must be available

Verify Logical and Physical Integrity of Database

Once we have the database attached, we can check the logical and physical integrity of all the objects within the database by executing a DBCC CHECKDB.
DBCC CHECKDB ('AdventureWorks2012_Data')
GO

Source Collected from MSSQLTIPS.COM

No comments :

Post a Comment