読者です 読者をやめる 読者になる 読者になる

きよくらの備忘録

「三日坊主と呼ばせない!日記」改め。主にソフトウェア開発関連の話題。

SQL Server Express EditionにpubsとNorthwindを追加する(その1)


SQL Server 2005以降には、SQL Server 2000以前に付属していた、おなじみの『Northwind』や『pubs』は付属していません。
しかし、まだまだサンプルやチュートリアル等でこれらのサンプルデータベースを使っている例は多い事もあり、学習や実験を良く行うような環境では入れておくと便利です。


これらはMicrosoftのサイトからダウンロード可能になっているので、無料で取得する事が可能になっています。


今回、SQL Server 2008にNorthwindとpubsをインストールしてみたので、手順をメモしておきます。

手順は大きく、以下となっています。

  1. ファイルの入手
  2. ファイルの展開(OSレベルのインストール)
  3. ファイルのアタッチ or オブジェクトの作成(DBレベルのインストール)

1.入手

以下のサイトからダウンロードします。
Northwind and pubs Sample Databases for SQL Server 2000
[download]ボタンを押下し、「SQL2000SampleDb.msi」を保存します。

2.ファイルのインストール

1.で取得したSQL2000SampleDb.msiを実行します。
インストールウィザードが起動するので、ウィザードに沿って進めると以下ようにファイルが展開されます。

  • C:\SQL Server 2000 Sample Databases
    • instnwnd.sql
    • instpubs.sql
    • NORTHWND.LDF
    • NORTHWND.MDF
    • PUBS.MDF
    • PUBS_LOG.LDF
    • ReadMe_SQL2000SampleDbScripts.htm


ただし、msiを実行しただければ、これらのDBはまだ使えません
DBのインスタンスにインストールしてやる必要があります。

3.データベースのインストール

上記でローカルにコピーされたファイルを、DBのインスタンスに対してインストールしてやります。
インストール方法は、展開された「ReadMe_SQL2000SampleDbScripts.htm」に記述されているとおり、ざっくりと以下の方法があります。


1.プレビルドされたMDFをアタッチする
上記ファイル一覧の通り、MDFとLDFの各ファイルが既に作られているので、これらをアタッチしてやる方法です。具体的な実行方法はいくつかあると思いますが、代表的なのは以下かと思います。

  • [1] Management StudioのGUIからアタッチ
  • [2] SQLクエリアナライザからsp_attach_dbストアドプロシージャを使用してアタッチ
  • [3] コマンドプロンプトからsp_attach_dbストアドプロシージャを使用してアタッチ
  • [4] Visual StudioのサーバエクスプローラのGUIからアタッチ

上記のうち前[1]〜[3]はReadmeに書いてある方法です。最後の一つ[4]は、Visual Studio + Express Editionの環境ならばもっとも手軽な方法かと思われます。


2. スクリプトを実行してオブジェクト作成とデータのインポートを行う
instnwnd.sqlやinstpubs.sqlを使って、データベースオブジェクトを作成し、データをインサートするSQLを実行する方法です。SQLを実行すれば良いので、代表的な実行方法はReadMe_SQL2000SampleDbScripts.htmに書いてある通り、以下かと思います。

これらは現状であればこちらの手段を使わず、プレビルドされたファイルをアタッチするのが手軽で良いかと思いますが、今後、ファイル構造が変更になってそのままアタッチできなくなるなどした場合でも、こちらからなら実行できるかと思います*1


今回は、pubsとNorthwindをプレビルドされたファイルをアタッチする方法でインストールしみてることにします。
具体的には、

という方法で実行しました。


……と、ここまでで結構な長さになったので、具体的な手順のメモは次エントリから。

*1:SQLの手直しは必要になるかもしれませんが