LoginSignup
0
2

More than 5 years have passed since last update.

SQL Server Express 2016 LocalDBにサンプルデータベースを作成

Last updated at Posted at 2018-05-02

SQL Server Express 2016 LocalDBにサンプルデータベースを作成してみました。
開発用に簡単なデータベースを用意したかったので公式のサンプルデータベースを使いました。

今回はVisual Studioを使ってスクリプトファイルからデータベースを作成しています。

環境

Windows 10 April 2018 Update バージョン 1803
Visual Studio Community 2017 Version 15.6.7

サンプルデータベースを選択

SQL Serverのサンプルデータベースはこちらの記事の通りいくつかあるようです。

サンプル用のデータベース・ファイル(.mdfファイル)を入手するには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/941sampledb/sampledb.html

現在は「WideWorldImporters」というサンプルデータベースもあるようです。

新しいサンプルデータベース 『 WideWorldImporters 』 の中身を見てみる
http://ryuchan.hatenablog.com/entry/2016/06/26/110742

今回は開発用でテーブル数もあまり必要ないので「AdventureWorks 2012 LT」を使うことにしました。
.mdfファイルから作成する方法がわからなかったので今回はスクリプトファイルから作成します。

AdventureWorksダウンロード

こちらから「adventure-works-2012-oltp-lt-script.zip」をダウンロードします。
https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks2012

ダウンロードしたファイルを解凍してCドライブへ移動します。

今回は次のようなフォルダ構成を前提に説明します。

データベースファイルの保存先 → C:\AdventureWorks\
スクリプトファイルの保存先 → C:\AdventureWorks 2012 LT Script\

AdventureWorksデータベース作成

Visual Studioからスクリプトファイル「C:\AdventureWorks 2012 LT Script\instawltdb.sql」を開きます。

a.png

b.png

ファイル開くと構文エラーになるので「SQLCMD Mode」に変更します。

c.png

スクリプトファイルを次のように修正します。

instawltdb.sql(修正前)
:setvar SqlSamplesDatabasePath   "C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\";
:setvar SqlSamplesSourceDataPath "C:\Samples\AdventureWorks\AdventureWorks 2012 LT Script\";

フォルダを変更して行末のセミコロン(;)を削除します。

instawltdb.sql(修正後)
:setvar SqlSamplesDatabasePath   "C:\AdventureWorks\"
:setvar SqlSamplesSourceDataPath "C:\AdventureWorks 2012 LT Script\"

LocalDBに接続します。

d.png

ローカルの「MSSQLLocalDB」を選択して接続します。

e.png

スクリプトを実行します。

f.png

正常に終了すると「AdventureWorksLT2012」データベースが作成されます。

g.png

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2