SQL Server のサンプル DB AdventureWorks 2008R2 SR1にデータベース AdventureWorks2008R2 が入っていない件

現在、PHP コードから SQL Server のレポート機能を使用するという記事を書いています。

CodePlex に SQL Server Reporting Services (SSRS) SDK for PHP なるものが用意されていてこれを使用します。

SQL Server Reporting Services (SSRS) SDK for PHP
https://ssrsphp.codeplex.com/

さて、本日、パッケージの中に用意されているチュートリアルを使用してサンプルを作って動作確認しようと思ったのですが、内部のクエリーが使用している “AdventureWorks2008R2 というデータベースがみつからない” 旨のエラーが出て動作しませんでした。

サンプルデータベースは、CodePlex の Microsoft SQL Server Community Projects & Samples から落としてきた最新の AdventureWorks 2008R2 SR1 を使用しており、同ページのインストールされるデータベースの一覧にも “AdventureWorks2008R2” が記載されているので問題はないはずです。

Microsoft SQL Server Community Projects & Samples
https://msftdbprodsamples.codeplex.com/

しかし、SQL Server Management Studio を使用して SQL Server 内のデーターベースを確認すると、なるほど AdventureWorks2008R2 という名前のデータベースはありません。

代わりに (?)  AdventureWorks という名前のデータベースがあるので、きっと名前が違っているのであろう、と接続文字内の DB 名を AdventureWorks に変更してみたものの、やはり動きません。。。

これは、SSRS のサンプルが間違っているのかも、と思い、以下のチュートリアルも試してみたのですが、ことごとく動作しません。

チュートリアル: AdventureWorks 2008R2 サンプル レポートの作成 (SSRS)
https://technet.microsoft.com/ja-jp/library/ff487370.aspx

それから数時間、迫る締切に脂汗を流しながら Web の情報を探しまくった結果、フォーラムの投稿から AdventureWorks 2008R2 SR1 には含まれていないことがはんめえ…..。

Why SSMS2008 show AdventureWorks database only? No AdventureWorks2008R2?
https://social.msdn.microsoft.com/Forums/en-US/sqlserversamples/thread/7abe15df-fc30-4e99-b0df-904b1b9e5a05

私の調査に費やした数時間って、いったい。。。

こみあげてくる行き場のない怒りを抑えるために、なにか楽しかったことを考えようと思ったのですが、最近楽しかったことなど、とくになにもないことに思い至り、よけいにやるせない気持ちになってしまったしだいです。

さて、AdventureWorks を使用する人々が、私のようなこんなやるせない気持ちにならないように 回避策を紹介させていただきます。

 

AdventureWorks 2008R2 データベースが見つからない場合の回避策

2011 年 2 月 7 日現在、AdventureWorks 2008R2 SR1 には、AdventureWorks 2008R2 データベースは含まれていません。

回避するためには AdventureWorks 2008R2 データベースのデータベースファイルを入手して、データベースをコマンドで作成する必要があります。

具体的には、以下のページから AdventureWorks 2008R2 の mdf ファイルをダウンロードして入手します。

AdventureWorks2008R2 without filestream
https://msftdbprodsamples.codeplex.com/releases/view/59211

そして、以下のコマンドを使用してデータベースを作成する必要があります。

 CREATE DATABASE AdventureWorks2008R2      ON (FILENAME = '<drive>:\<file path>\AdventureWorks2008R2_Data.mdf')  -- change the drive and file path      FOR ATTACH_REBUILD_LOG ;

これから SQL Server のレポート機能を試したり、AdventureWorks データベースを使用する、という方が身近にいたらぜひこの内容をお伝えくだい。

こんなやるせない思いをするのは私ひとりでたくさんですので。

あー、なんかすごい悪口言いたい….。

 

Real Time Analytics

Clicky