はじめに
Visual Studio Team SystemのメジャーバージョンアップとなるVisual Studio Team System 2008がリリースされ、以前の機能を踏襲しながらも、さまざまな部分において安定性の向上や機能の追加が図られました。今回はその中でもSQL Serverデータベースのデータベーススキーマの開発、テスト、管理などを行うVisual Studio Team System 2008 Database Edition(以下、VSTS-DB)を利用したデータベース開発について紹介します。とりわけ第1回となる今回ではスキーマ開発を行うための機能に注目していきたいと思います。
なお、付属のサンプルファイル「CodeZine-VSTS-DB01.zip」は本稿で解説している内容を最後まで実践してみた結果のファイル群となっています。本稿の途中でファイルを追加したり、削除したりといった解説がある部分もありますが、すべてが終了した状態として残っています。ただ、環境さえ準備できれば、簡単に手順を追えますので時間がある場合には、ぜひ1から試してみてください。
対象読者
- .NET Frameworkを利用した開発プロジェクトに携わっている人
- Visual Studio Team System 2008に興味がある人
必要な環境と準備
本稿で解説している内容を実際に試す場合には、以下の環境が必要となります。
- Visual Studio Team System 2008 Database Edition、またはVisual Studio Team System 2008 Team Suite
- SQL Server 2005 Express Edition
- Northwindサンプルデータベース
VSTS-DBの製品メディアがない場合には、評価版を利用しても構いません。VSTS-DBの評価版は用意されていませんので、代わりに「Visual Studio Team System 2008 Team Suite(90 日間評価版)」をダウンロードしてインストールしてください。
SQL Server 2005 Express Editionは、VSTS-DBやTeam Suiteのインストール時に同時にインストールすることができます。また、Express Edition以外のどのエディションでも特に問題はありません。
Northwindサンプルデータベースは、SQL Server 2000に付属のサンプルですが、「Northwind and pubs Sample Databases for SQL Server 2000」のページからダウンロードすることができます。ダウンロード終了後、インストーラーを起動して、指示に従ってインストールを行ってください。デフォルト設定のままインストールを行うと「C:\SQL Server 2000 Sample Databases」フォルダにmdfファイルやSQLスクリプトが格納されています。コマンドプロンプトを開いて以下のコマンドを実行してください(インスタンス名は適宜置き換えてください)。
sqlcmd -S localhost\sqlexpress -I "C:\SQL Server 2000 Sample Database\instnwnd.sql"
以上で、準備は終了です。
なお、本稿で解説している内容およびスクリーンショットは、Visual Studio 2008 Team Suite + Service Pack 1を利用している環境に基づいています。そのため、「VSTS-DBを利用している」「Service Pack 1が適用されていない」の2つの場合において、スクリーンショットの一部に差異がある可能性があります。本稿で解説している内容を実践する場合には、できる限りService Pack 1を適用した状態で行うようにしてください。
Visual Studio Team System 2008 Database Editionとは
初めてのTeam SystemであるVisual Studio 2005 Team Systemがリリースされた当初、クライアント側の製品はアーキテクト向け、開発者向け、テスター向けの3製品が用意されていました。後に、データベース開発者向けの製品が別途リリースされ、Visual Studio Team System 2008でもクライアント側は4製品としてリリースされています。VSTS-DBはSQL Server 2000/2005を対象に、データベーススキーマの開発・管理やストアドプロシージャの単体テスト機能をサポートし、Team Foundation Serverでの構成管理やチームビルドとの連携など他のクライアント製品同様の機能もサポートしているものです。扱える対象がSQL Server 2000またはSQL Server 2005のみであるため、使用範囲がかなり限定されてしまい、コスト対効果も低いのではないかと思われがちな製品ですが、開発案件で扱うデータベースがこれらである場合には重宝する可能性が高いものでもあります。
従来、開発者向け製品とデータベース開発者向け製品は別々に購入する必要がありました。しかし、本稿執筆時点(2009/1月末日)では、 Microsoft社が「Development Edition & Database Edition 最大活用キャンペーン」というキャンペーンを行っています。キャンペーン中にどちらかの製品のMSDN Subscription付きの有効なライセンスを保持している場合、もう片方も利用可能になるというものです。開発者向けのDevelopment Editionを持っている方は比較的多いと思いますが、これを機にDatabase Editionを使ってみるといいかもしれません。なお、次期Visual Studio 2010では、Development EditionとDatabase Editionは初めから1つの製品(もしくはライセンス)として出荷される予定のようです。
本稿執筆時点でリリースされているVSTS-DBは対象データベースとしてSQL Server 2008を利用することができません。SQL Server 2008を対象とするためには、その後にリリースされた「Microsoft Visual Studio Team System 2008 Database Edition GDR」を利用する必要があります。本稿の範疇では扱いませんが、追加機能もいくつかありますので、SQL Server 2008を対象とする場合には一度確認してみてください。