カピバラ好きなエンジニアブログ

ITのこととか趣味のカメラのことなどを赴くままに書いていきます。カピバラの可愛さこそ至高。

SQL Server2016でサンプルDBを作成してみた

はじめに

タイトル通りSQL ServerMicrosoftが提供しているサンプルDBを作成していきます。

構築した環境・スペックは以下の通りです

以下のURLを参考にさせていただきました。

  • 公式手順

AdventureWorks サンプルデータベースをインストールして構成する - SQL Server | Microsoft Docs

  • 2017でサンプルDBを作成しているブログ

SQL Serverサンプルデータベース「AdventureWorks」の作成手順をまとめてみた! | きままブログ



実施内容

  • AdventureWorksファイルのダウンロード
  • データベースの構築
  • データ確認

実施作業

AdventureWorksファイルのダウンロード

まずは以下のURLから作成するバックアップのbakファイルをダウンロードします。

docs.microsoft.com

f:id:live-your-life-dd18:20200212113834p:plain

インストールできたら対象EC2にRDPで接続し、ダウンロードしたファイルをコピーします。
f:id:live-your-life-dd18:20200212111026p:plain


データベースの構築

SQL Server Management Studio起動

コピーできたらWindows メニューからSQL Server Management Studioを起動してログインします。

f:id:live-your-life-dd18:20200212111559p:plain

データベース復元

次に『Databases』を右クリックして、『Restore Database...』を選択します。
f:id:live-your-life-dd18:20200212111904p:plain


セットアップウィンドウが立ち上がります。
f:id:live-your-life-dd18:20200212112007p:plain


以下の順で項目を選択し、バックアップデバイスを追加します。
f:id:live-your-life-dd18:20200212112228p:plain


bakファイルをコピーしたAdministratorユーザのデスクトップのパスを指定したところエラーが発生しました。
エラー内容を見る限りは指定したパスを見る権限がないことが原因のようですので、参照可能なパスに変更して再度指定してみます。
f:id:live-your-life-dd18:20200212112722p:plain


問題なく指定できました。
f:id:live-your-life-dd18:20200212113232p:plain


そのまま『OK』ボタンを押下するとbakファイルが読み込まれて、バックアップの情報がリスト表示されます。
f:id:live-your-life-dd18:20200212113412p:plain


『OK』ボタンを押下後、無事にDatabases配下にAdventureWorks2012というデータベースが作成されていることが確認できました。
f:id:live-your-life-dd18:20200212113545p:plain


データ確認

念のため、作成したDBのデータが取得できるか以下のSQLで確認してみます。

use AdventureWorks2012;

select * from Person.Address;



問題なく取得できました。
f:id:live-your-life-dd18:20200212114325p:plain


感想及び所感

作成中に構築したSQL Serverのバージョンとバックアップファイルのバージョンが異なることに気づきましたが、特に問題なく作成することができました。

ここら辺の説明を見る限りだと、互換性レベルが対応範囲内であれば問題なさそうです。
docs.microsoft.com


f:id:live-your-life-dd18:20200212115000p:plain


試しに作成したDBのCompatibility levelを確認したところ、SQL Server 2012が表示されていました。
互換性があればバックアップファイルが作成されたSQL Serverのバージョンで復元するようです。
f:id:live-your-life-dd18:20200212115057p:plain