SQL Serverのサンプルデータベースは、新しいテクニックを学んだり、さまざまなコードのサンプルを試したりするのに非常に役立ちます。この記事では、Northwind、AdventureWorks、およびWideWorldImportersを含む主要なSQL Serverのサンプルデータベースで何ができるかを詳しく説明します。また、これらのSQL Serverのサンプルデータベースを見つけてインストールする方法も示します。
SQL Serverのサンプルデータベースとは何ですか?
SQL Serverのサンプルデータベースには、安全にテストや開発に使用できる架空の情報が含まれています。ただし、SQL Server 2005以降、SQL Serverのインストールプロセス中にサンプルデータベースはインストールされていません。
ある時点で、Microsoftはサンプルデータベースが潜在的なセキュリティリスクであると感じ、それがSQL Serverのコードベースから削除された理由です。 とは言っても、何年もの間、MicrosoftはSQL Serverリレーショナルデータベース管理システムおよびAnalysis Servicesのためにいくつかのサンプルデータベースを提供してきました。
今日利用可能な主要なサンプルデータベースには、Pubs、Northwind、AdventureWorks、およびWideWorldImportersがあります。
この記事全体を通じて見ていただくように、これらの異なるサンプルデータベースは、テストや開発シナリオで使用できるさまざまなタイプのデータを提供します。
PubsとNorthwindのサンプルデータベース
Pubsは、SQL Serverに付属していた最初のサンプル出版社データベースであり、元々はSybaseによって開発されました。 これは、書籍、著者、および販売を追跡する出版社をベースにしています。
Pubsのサンプルデータベースは、SQL Server 2005リリースまでSQL Serverインストールプロセスの一部としてオプションとして利用可能でした。 しかし、多くのSQL Serverユーザーは、それが良いサンプルではないと考えました。
より複雑なサンプルデータベースを提供するために、MicrosoftはSQL Server 2000リリースでNorthwindデータベースを利用可能にしました。 これは元々Accessチームによって開発され、Northwind Tradersという食品輸入輸出会社をベースにしています。
マイクロソフトは後に、SQL Server 2005のリリースとともにNorthwindデータベースを削除しました。しかし、SQL ServerユーザーはまだNorthwind and pubs Sample Databases for SQL Server 2000からそれらをダウンロードすることができます。
ダウンロードはSQL2000SampleDb.msiという名前の.msiインストールファイルです。インストールファイルを実行すると、T-SQLデータベーススクリプトがデフォルトフォルダ(C:\SQL Server 2000 Sample Databases)に展開されます。

これらのサンプルをインストールするには、Pubsサンプルをインストールするinstpubs.sqlスクリプトを実行し、Northwindサンプルをインストールするinstnwnd.sqlスクリプトを実行します。これらのスクリプトには、各データベースのテーブルを作成およびポピュレートするために必要なすべてのコードが含まれています。
- まず、以下の画像で示されているように、SQL Server Management Studio(SSMS)クエリエディタを使用して.sqlファイルを開きます。

- 緑色の実行ボタンをクリックしてスクリプトを実行します。
最初にPubsサンプルをインストールするためにinstpubs.sqlスクリプトを実行したとき、「ストアド プロシージャ ‘sp_dboption’ が見つかりませんでした。」というエラーが発生しました。このストアド プロシージャは、SQL Server 2008リリース以降からSQL Serverから削除されました。ただし、次の行を削除することで、スクリプトをエラーなく実行できるようになりました。
execute sp_dboption 'pubs' ,'trunc. log on chkpt.' ,'true' GO
Northwindsサンプルをインストールするためにinstnwd.sqlスクリプトを実行すると、「ストアド プロシージャ ‘sp_dboption’ が見つかりませんでした。」という同じエラーが発生しました。この場合も、次の行を削除することで、スクリプトを完了まで実行できるようになりました。
exec sp_dboption 'Northwind','trunc. log on chkpt.','true' exec sp_dboption 'Northwind','select into/bulkcopy','true' GO
これらのT-SQLスクリプトを実行すると、PubsおよびNorthwindサンプルデータベースが作成およびポピュレートされます。その後、これらを他のSQL Serverデータベースと同様に使用できます。
AdventureWorksおよびAdventureWorksLTサンプルデータベース
SQL Server 2005から、MicrosoftはPubsとNorthwindを置き換える目的でAdventureWorksサンプルデータベースをリリースしました。AdventureWorksは、多国籍の自転車製造および販売会社であるAdventure Works Cyclesのサンプルデータベースであり、SQL Server 2005でMicrosoftが導入したユーザー・スキーマの命名システムを使用しています。
AdventureWorksデータベースの主要なリレーショナルバージョンには、AdventureWorksとAdventureWorksLTがあります。後者は完全なAdventureWorksデータベースの小さな、シンプルなバージョンです。SQL Server 2008 R2以降の各リリースに対してこれらのデータベースの複数のバージョンがあります。ただし、現時点ではSQL Server 2022の新しいリリースはありません。
AdventureWorksのサンプルは、異なるSQL Serverバージョン用に元々CodePlexで見つかりましたが、2017年にCodePlexサイトが閉鎖されました。その後、GitHubに移動されました。以下の表には、AdventureWorksサンプルデータベースのすべてのバージョンのダウンロードリンクが含まれています。
AdventureWorks sample database | AdventureWorksLT sample database |
AdventureWorks2019.bak | AdventureWorksLT2019.bak |
AdventureWorks2017.bak | AdventureWorksLT2017.bak |
AdventureWorks2016.bak | AdventureWorksLT2016.bak |
AdventureWorks2016_EXT.bak | N/A |
AdventureWorks2014.bak | AdventureWorksLT2014.bak |
AdventureWorks2012.bak | AdventureWorksLT2012.bak |
AdventureWorks2008R2.bak |
これらのダウンロードは、AdventureWorksサンプルをインストールするために使用できる完全なデータベースバックアップ(.bak)ファイルです。.bakファイルをダウンロードして、その後SSMSまたはT-SQL RESTOREステートメントを使用して、バックアップファイルをSQL Serverデータベースとして復元できます。
以下の画像では、AdventureWorks2019のSSMS復元ダイアログが表示され、.bakファイルの復元とデータベース名の入力を求められます。

リレーショナルデータベースサンプルに加えて、MicrosoftはAdventureWorksデータベース用のビジネスインテリジェンス/データウェアハウスサンプルも作成しており、AdventureWorksDWとAdventureWorksASと呼ばれています。これらのサンプルはSQL Server Analysis Servicesと共に使用できます。これらのBIサンプルは、.bakファイルをダウンロードして復元することで、リレーショナルサンプルと同様にインストールされます。BIサンプルは以下のGitHubの場所にあります:
- AdventureWorksDW2019.bak
- AdventureWorksDW2017.bak
- AdventureWorksDW2016.bak
- AdventureWorksDW2016_EXT.bak
- AdventureWorksDW2014.bak
- AdventureWorksDW2012.bak
- AdventureWorksDW2008R2.bak
WideWorldImportersサンプルデータベース
SQL Server 2016のリリースに伴い、Microsoftは新しいWideWorldImportersデータベースを提供しました。これは、例として卸売雑貨輸入業者および流通業者向けであり、一時表、In-Memory OLTP、列ストアインデックス、行レベルセキュリティ(RLS)、動的データマスキング(DDM)などに慣れるために使用できます。
WideWorldImportersリレーショナルデータベースには、オンプレミス版SQL Server 2016およびそれ以上のバージョン用の異なるバージョンがあります。また、Azure SQL Database用のバージョンもあります。
- WideWorldImporters-Full.bak:SQL Server 2016 Enterpriseエディションおよびそれ以上のバージョン用です。バックアップファイル形式です。
- WideWorldImporters-Standard.bak:SQL Server 2016 Standardエディションおよびそれ以上のバージョン用です。こちらもバックアップファイル形式です。
- WideWorldImporters-Full.bacpac:これはAzure SQL Databaseプレミアムティア用です。BACPAC形式で完全な機能を備えたOLTPサンプルデータベースを提供します。BACPAC形式。
- WideWorldImporters-Standard.bacpac – これはAzure SQL Databaseの標準ティア向けであり、BACPAC形式の標準版OLTPサンプルデータベースを提供します。
ローカルSQL ServerシステムにWideWorldImportersサンプルデータベースをインストールするには、.bakファイルをダウンロードしてからSSMSまたはT-SQL RESTOREを使用してバックアップファイルをSQL Serverデータベースとして復元します。次の図にWideWorldImporterデータベースのSSMS復元ダイアログが表示されます。

さまざまなBACPACファイルは、オンプレミスのSQL ServerまたはAzure SQL Serverで使用できます。新しいSQL Serverデータベースとして.bacpacファイルをインポートするには、SQL Server Management Studioを使用できます。
- データベースノードをクリックし、コンテキストメニューからデータティアアプリケーションのインポートオプションを選択します。
- 以下に表示されるインポートウィザードのプロンプトに従って、.bacpacファイルからサンプルデータベースをインポートします。

期待されるように、リレーショナルサンプルに加えて、いくつかのデータウェアハウジングの例もあります。
- WideWorldImportersDW-Full.bak – SQL Server 2016エンタープライズエディション以上向けのバックアップファイル形式です。
- WideWorldImportersDW-Standard.bak – SQL Server 2016スタンダードエディション以上向けのバックアップファイル形式です。
- WideWorldImportersDW-Fullbacpac – Azure SQL Databaseプレミアムティア向けです。BACPAC形式で完全機能のOLTPサンプルデータベースを提供します。
- WideWorldImportersDW-Standard.bacpac – Azure SQL Databaseスタンダードティア向けです。BACPAC形式でスタンダードエディションのOLTPサンプルデータベースを提供します。
スクリプトが含まれている sample の中の scripts.zip ファイルにあります。また、WideWorldImporters データベースに対して実行されるワークロードをシミュレートする二つのプログラムが含まれている workload の中の drivers.zip ファイルもあります。
サマリー
このチュートリアルでは、Northwind、AdventureWorks、および WideWorldImporters を含むさまざまな Microsoft SQL Server サンプルデータベースについて学びました。このガイドは、テストや開発に使用するサンプルを選択する際の参考になるはずです。詳細は Microsoft SQL Server ドキュメント で確認できます。
関連記事: