SQL Server Express を活用しよう

SQL Server Express Edition は、Microsoft が提供する SQL Server の無償バージョンですが、小規模なサーバーであれば十分な能力があります。コア部分については上位製品と共通であり、能力が不足した場合には上位製品へ簡単に移行することができます。管理ツールは、SQL Server Management Studio Express ( SSMSE ) を利用することができ、GUI でデータベースを管理することができます。

1. Express Edition の歴史

Express Edition は、MSDE の後継として、SQL Server 2005 のリリースにあわせて、SQL Server 2005 Express Edition として初めて公開されました。以降、SQL Server のバージョンアップにあわせて、SQL Server 2008 Express Edition、SQL Server 2008 R2 Express Edition が公開され、現在の最新のバージョンは、SQL Server 2012 Express Edition となっています。

2. 対応機種

2012 Express Edition をインストールできる機種は、Windows Vista SP2 以降です(MSDN の SQL Server 2012 の製品ドキュメントの SQL Server 2012 のインストールに必要なハードウェアおよびソフトウェア)。そのため、Windows XP に SQL Server Express インストールしたい場合は、引き続き 2008 R2 Express Edition を利用することになります。

3. Express Edition の制限

Express Edition は、小規模サーバーアプリケーションの構築用のデータベースエンジンでデータベースのサイズが最大 10 GB (2008 Express までは 4GB)までで、使用できる CPU は 1 基で4コアまで、データベース エンジンのRAM は 1 GB までと制限されています。なお、データベースのサイズが 10GB というのは、全体で 10GB というのではなく、個々のデータベース毎の制限です。会社で全社的に活用する場合は能力不足ですが、個人やスモールオフィスで使う分にはデータの容量やアクセス数はそれほど多くないのが普通なので、Express Edition でかなりのところまで対応できると思います。

管理面では、SQL Agent job スケジューリングサービスが利用できないので、バックアップ等のバッチ処理をする場合には、バッチファイルやプログラムを作成してタスクスケジューラを使用することになるので手間がかかります。個人が使う場合、例えば個人のホームページ用のデータベースとして使用するような場合には、更新頻度がそれほど多くないので SSMSE を使ってバックアップするので十分な場合が多いので、Express Edition で始めて、使いづらくなったら上位版にアップグレードすればいいと思います

ReportBuilder では、レポートのデータソースにリモート データソースがサポートされず、ローカルの SQL Server のデータベースのみです。また、スケジュールされたレポート処理、キャッシュ、スナップショット、サブスクリプション、および配信はサポートされません。個人用途であればいいのですが、業務用で利用する場合は制限がかなり厳しく、ビジネス インテリジェンス (BI) の機能が必要なのであれば有償版を使ってくださいということのようです。

4. Express Edition の構成

SQL Server 2012 Express には、以下の5つのエディションがあるので、用途に応じてインストールするエディションを選択します。LocalDB は、2012 から新たに追加されたエディションです。

  • LocalDB : 開発用です。Express のプログラミング機能をすべて備え、ユーザー モードで実行ができます。
  • Express : SQL Server のデーターベースエンジンのみをインストールします。
  • Express with Management Tools : LocalDB と Express に管理ツール SQL Server 2008 R2 Management Studio Express ( SSMSE ) が付属したものです。
  • Express with Advanced Services : LocalDB と Express に、フルテキスト検索、Reporting Services 、管理ツール SSMSE が付属したものです。
  • Management Studio Express : 管理ツール SSMSE をインストールします。LocalDB も付属しています。

5. どの Edition をインストール?

SQL Server Express の管理ツールである SQL Server Management Studio Express ( SSMSE ) を利用すれば、サーバーにはデータベースエンジンのみをインストールし、それを普段使っているパソコンのSSMSEから管理することが簡単にできます。例えば、公開用のサーバーにデータベースエンジンのみをインストールし、パソコンから管理をするようなケースです。サーバー側には、データーベースエンジンのみをインストールする Express エディションを選択します。

SSMSE もインストールしたい場合は、Express with Management Tools 又は Express with Advanced Services をインストールすればいいということになりますが、Express with Advanced Services は、ダウンロードファイルのサイズが64ビット版だと1413.1MB と巨大で、その分だけインストールにも時間もかかるので、フルテキスト検索又は Reporting Services の機能を使用する予定がある場合にのみ使用し、それ以外の場合は、Express with Management Tools をインストールするようにした方がいいと思います。フルテキスト検索や Reporting Services の機能が必要になれば後から追加インストールすることができます。

6. インストール

SQL Server 2012 Express 及び 2008 R2 Express のインストールの手順については、以下のページにメモをしました。初めての場合は、Web Platform Installer によるインストールが簡単なのでおすすめします。

  • Express のインストール  2012  2008 R2
  • Express with Management Tools、Express with Advanced Services のインストール  2008 R2
  • Web Platform Installer によるインストール 2008 R2

※ Express をインストールした後で、SQL Server Management Studio Express をインストールすることが必要になった場合、2012 では簡単に追加することができます。2008 R2 に場合については、SQL Server Management Studio Express の追加インストール にメモをしました。また、Web Platform Installer でインストールすることもできます。

Advanced Services をインストールした場合、Reporting Services が利用できますが、それのメモです。
Reporting Services をインストール 2008 R2

なお、SQL Server 2008 Express Edition のみについては SQL Server 2008 R2 Express Edition についてにメモをしています。

7. 設定

データベース及びログインアカウントの作成については、以下にメモをしました。なお、設定関係については、SQL Server 2008 と違いがないので、SQL Server 2008 のままにしてあります。

SQL Server 認証の場合のデータベース及びログインアカウントの作成
SQL Server 2008 Express の設定

リモート接続をする場合(事前にリモート接続の設定が必要)
SQL Server 2008 Express にリモート接続

Windows 認証を利用する場合(ログインアカウントの設定及び接続文字列が違ってきます)
Windows 7/Vista sp2 の ASP.NET で MSSQL に Windows 認証

MDF ファイルのアタッチによるデータベースの作成(データベースの作成に SSMS を使用せず、Visual Sudio を使用します。)
Express のユーザーインスタンスを利用した作成方法

Advanced Services をインストールした場合、Reporting Services が利用できますが、それの設定のメモ
レポートサーバーの設定

8. アンインストール

SQL Server 2012 Express は、コントロールパネルの「プログラムのアンインストールまたは変更」の画面からアンインストールを選択することで問題なくアンインストールすることができます。以前のバージョンではアンインストールに問題があったのですが、2008 R2 Express 以降問題なくアンインストールができています。

参考資料
SQL Server の既存のインスタンスをアンインストールする方法
SQL Server 2008 のインスタンスをアンインストールする方法

9. 管理

SQL Server Express を運用しているとデータベースのバックアップの処理が必要になります。これについては、SQL Server 2008 自習書シリーズ No.12 「 バックアップと復元」が参考になると思います。