Gobble up pudding

プログラミングの記事がメインのブログです。

MENU

SQL ServerにNorthwindとPubsサンプルデータベースを入れる

スポンサードリンク


SQL Server 2012 ExpressにNorthwindとPubsのサンプルデータベースを導入したときのメモ。
今は最新版はSQL Server 2014ですが、そちらでも可能だと思われます。
余談すぎますが、僕が初めて触ったメジャーなデータベースはSQL Serverでした。
SQL Server Management Studioっていうツールが標準でついてきてすごすぎますよね。
そのあとOracle触ってショボーン(´・ω・`)ってなりました。
えっ、SQL Server Management Studioに匹敵するようなツールないのかよ!!みたいな。
有償でありますが、もうね、sqlplusでいいよもう。みたいな感じに。
あと、スキーマの概念が変。って思いました。ユーザとごっちゃになっとるやないかいみたいな。
あと結合演算子が嫌でした。素直にLEFT JOINとかにしてくれ。慣れないと読みにくい……。
そのあとMySQLを触り、ああ、なかなかいいツール転がってるなと感心しています。
でもSQL Serverっていいよねと最近思います。僕がわりとM$信者だからかもしれませんが(笑)
Windows RTはなんだったんだろ…とそれはさておき、
もともとSQL Server 2000用に作られたNorthwindとPubsというサンプルがあります。
これをSQL Server 2012以上のバージョンに突っ込んじゃいましょうという話です。
http://www.microsoft.com/en-us/download/details.aspx?id=23654からサンプルをダウンロードして、exeをダブルクリックしてNextとか押してインストールします。
インストール先はデフォルトで、
C:\SQL Server 2000 Sample Databases
になっています。
んで、ここのフォルダにあるSQLが2008以降のエディションと互換がないものがあるので、書き換えます。

「sp_dboption」というのがあるので、「alter database」に書き換えます。
テキストエディタで開いてsp_dboptionで検索して該当行を削除かコメントアウトしてalter database文を書いてください。

instnwnd.sql

/*
exec sp_dboption 'Northwind','trunc. log on chkpt.','true'
exec sp_dboption 'Northwind','select into/bulkcopy','true'
*/
alter database Northwind set recovery simple

instpubs.sql

/*
execute sp_dboption 'pubs' ,'trunc. log on chkpt.' ,'true'
*/
alter database pubs  set recovery simple

んで、このSQLをぶち込めばいいのですが、
その前にSQL ServerのExpress Editionをインストールしてください。
認証方法はWindows認証でも、SQL Server認証でもお好きなほうを。
デフォルトのSQLEXPRESSでインスタンスを作ったとします。

インストール方法は割愛してインストールが終わったら、
さっき変更したSQLを動かします。面倒なんでsqlcmdを使ったバッチファイルでSQLを叩きます。
(コンピューター名)は自身の環境に合わせて書き換えてください。
install.batという名前で保存することにします。

Windows認証の場合

@echo off
cd C:\SQL Server 2000 Sample Databases
sqlcmd -S (コンピューター名)\SQLEXPRESS -i instpubs.sql
sqlcmd -S (コンピューター名)\SQLEXPRESS -i instnwnd.sql

SQL Server認証の場合

@echo off
cd C:\SQL Server 2000 Sample Databases
sqlcmd -S (コンピューター名)\SQLExpress -U (ユーザ名) -P (パスワード) -i instpubs.sql
sqlcmd -S (コンピューター名)\SQLExpress -U (ユーザ名) -P (パスワード) -i instnwnd.sql

あとはinstall.batを叩けばデータベースが出来上がってます。
SSMSを立ち上げて、データベースをのぞけたらOKです。