Note: SQL Server 2008 Users Click Here for the SQL Server 2008 version of this article
The Northwind and Pubs sample databases are staples of other sample code on this and other development websites. They are used in countless tutorials and walkthroughs published by Microsoft and others. Being a SQL/SQL Server newbie myself, I figured there may be others in my boat who might want both databases in an easily-accessible spot, and an easier, less error-prone way of installing them into SQL Server 2005 Express Edition than, say, running SQL query scripts.
This article is to help you get started quickly with SQL Server samples, so as to use them to learn basic techniques.
SQL Server beginners and database development beginners are the audience for whom this article is written.
I wrote this back in 2005, when I myself was just starting out with SQL Server. I was searching the documentation and came upon samples making use of the Northwind and the Pubs databases. However, I was unable to find anything in MSDN that actually walked one through installing them in SQL Server Management Studio. Therefore, back then I wrote this article, so as to help other SQL Server beginners.
This is NOT a copy & paste article. I am an experienced technical writer, and an astrophysicist. Perhaps it may be the case that Microsoft has already posted new documentation on installing databases into SQL Server Management Studio graphically; however, at the time this article was originally posted back in 2005, at the time I had been unable to locate an equivalent article in the Microsoft documentation; hence, I wrote my own, which has evolved into this article.
So, enjoy this article, for what it's worth.
It's lost on me why one must use *.sql query scripts to install these samples. It's also lost on me why SQL Server distributions don't come with these databases provided, since they are used so ubiquitously through documentation, websites, and tutorials. There are probably several good reasons for this. However, I am focused on usability, and not on making things harder than they have to be.
There undoubtedly will be readers who will protest and say that I should use *.sql query files whenever possible; this is good and a perfectly acceptable practice. I see this article as illustrating just another way to accomplish a similar objective.
It's worth noting, for example, that a default Visual Studio .NET 2005 Standard Edition installation does not distribute these databases. It goes part-way, creating a Program Files\Microsoft Visual Studio 8\SDK\Samples\Setup directory containing, e.g., instnwnd.sql, a query script that ostensibly can be used to install the Northwind sample database.
However, hats off to Microsoft for putting apples with apples. Microsoft provides the queries for installing, but not the *.mdf and *.ldf files for the databases themselves. This does not support users in installing these important samples into SQL Server. Perhaps there's an easier way: this article. The download attached to this article contains the SQL Server 2000 versions of these files.
Personally, I favor using graphical (GUI) tools and methods over typing cryptic commands and deciphering error messages. So, this article illustrates how to install Northwind and Pubs using graphical tools and methods.
Steps: Installing the Northwind and Pubs Databases
Note: The steps here make use of SQL Server Management Studio Express, which sometimes doesn't install along with a Microsoft SQL Server 2005 Express Edition install. For this case, SQL Server Management Studio Express is available as a separate download from Microsoft.
Step 1: Using the download link above, download the Zip file containing the following files. Extract the files to a directory on your computer and remember where you put them. For these steps to work, you must have the following files on your computer:
Step 2: On the Start menu, point to Programs, point to Microsoft SQL Server 2005, and then click SQL Server Management Studio Express.
SQL Server Management Studio starts and displays the Connect to Server window, shown in Figure 1.
Figure 1. The Connect to Server window
Fill in the appropriate settings on the Connect to Server window that appears, and then click Connect.
SQL Server Management Studio Express opens the Object Explorer with the server's databases displayed.
Step 3: Right-click the Databases folder and then click Attach, as shown in Figure 2.
Figure 2. The Object Explorer window
Step 4: In the Attach Databases window, click Add....
The system prompts you for the proper *.mdf file using the Locate Database File window, as shown below in Figure 3.
Figure 3. The Locate Database File window
Step 5: Locate and click on the NORTHWND.MDF file, and then click OK.
The right pane of the Attach Databases window will look as shown in Figure 4.
Figure 4. The right pane of the Attach Databases window after adding the Northwind database
Step 6: Repeat steps 4 and 5 for the PUBS.MDF file.
When you're done, and if you did the proper actions, the right pane of the Attach Databases window should look as displayed in Figure 5.
Figure 5. The right pane of the Attach Databases window after adding the Pubs database
Step 7: In the Attach Databases window, click OK.
Step 8: To check that everything was successful, in the Object Explorer window, click the plus sign to open the Databases folder.
The Northwind and Pubs databases will be displayed, as shown in Figure 6.
Figure 6. The Object Explorer after importing the Northwind and Pubs databases
Where to Go for Help
Feel free to email me with specific questions about this article, and I will be happy to explain. I also want to invite you to make use of the forums at the bottom of this article. I wish you well and happy programming. Click here for the SQL Server 2008 version of this explanation.
In this section, I will keep a running history of the changes and updates I've made to this article:
Brian C. Hart, Ph.D., is a strategic engagement leader on a mission to leverage space technology to protect U.S. interests and assets against adversaries. Throughout Dr. Hart's career, he has enjoyed: Working closely with business executives to provide strategic direction and leadership, translating customer and competitive intelligence into compelling capture strategies and solutions, and mentoring teams to enhance individual and company capabilities while fostering an engaging and accountable environment, being involved in STEAM initiatives and education to develop greater awareness in the community, and serving the armed forces with the U.S. Navy and U.S. Army National Guard. He is excited to begin developing his career in Jacobs's Critical Mission Systems business unit, supporting NORAD and the U.S. Space Force.