SQL Server Express を活用しよう

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

1. Express Edition の歴史

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

2. 対応機種

2016 Express をインストールできる機種は、Windows 7 及び Windows Server 2008 以降です。

3. Express Edition の制限

Express Edition は、小規模サーバーアプリケーションの構築用のデータベースエンジンでデータベースのサイズが最大 10 GB (2008 Express までは 4GB)までで、使用できる CPU は 1CPU 4コアまで、データベース エンジンのインスタンス毎のRAM は 1GB までと制限されています。なお、データベースのサイズが 10GB というのは、全体で 10GB というのではなく、個々のデータベース毎の制限です。2016SP1から、In-memory OLTP、In-memory ColumnStore、Operational Analytics、Always Encrypted 等の機能が利用できるようになりました。データベースのサイズが 10GB 以内であれば問題なく業務用に使えるので、小さな会社であれば、Express Edition でかなりのところまで対応できます。

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

ReportBuilder では、レポートのデータソースにリモート データソースがサポートされず、ローカルの SQL Server のデータベースのみです。また、スケジュールされたレポート処理、キャッシュ、スナップショット、サブスクリプション、および配信はサポートされません。そのためかなり使いづらいので、Power BIが公開されているのでデータをビジュアル化したい場合はそちらの方を使った方がいいと思います。

機能制限の詳細は MSDN のページで確認できます。

4. Express の構成

SQL Server 2016 Express では、SQL Server Management Studio (SSMS)が分離され、以下の3つのエディションになりました。

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

SSMS をインストールしたい場合は、SSMS のページからダウンロードしてインストールします。全エディションで共通になっています。

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

2016 の場合は、殆どの場合で Express エディションを選択することになると思います。LocalDB は、Visual Studio をインストールすると一緒にインストールされます。また、Express with Advanced Services の Reporting Services は使いづらいので、2015年に発表された Power BI の方を使った方がいいと思います。

6. インストール

SQL Server 2016 Express 等のインストールの手順については、以下のページにメモをしました。

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

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

7. 設定

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

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

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

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

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

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

8. アンインストール

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

9. 管理

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