無償データベース「SQL Server 2005 Express」と聞いて,データベース管理のことに思いをはせる人は少ないだろう。しかし,他のデータベース・システムと同じように,SQL Server 2005 Expressにも管理は必要だ。幸いなことに,SQL Server Expressにはセルフ・チューニング機能があり,データベース・サーバーを連続動作させるために毎日実行しなければならないタスクの数を削減できる。それでも,日次のメンテナンス・タスクのほかに,データベースを管理するためには,データベースやテーブル,ビューの作成といったタスクが必要である。
また,マルチユーザー・データベースの場合は,ユーザーを追加したり,ネットワークからアクセスできるようにデータベースを構成する必要がある。そして,すべてのデータベースに関して,ハードウエア障害やユーザーによる誤操作,アプリケーションのエラーなどから復旧できるように,何らかのバックアップやリストアのプランを用意する必要がある。
こういったデータベース管理を実施するために,SQL Server Expressには,「sqlcmd」コマンド・ライン・ユーティリティと「SQL Server Management Studio Express(SSMSE)」という2つの管理ツールが用意されている。sqlcmdとSSMSEは,データベース・テーブルを作成したり,データベース・ユーザーを表示したり追加したりするときに主に使うツールである。
SQL Server Expressに含まれるsqlcmdツールは優れたツールだが,効果的に使用するためには,「T-SQL」に習熟している必要がある。sqlcmdを起動するには,コマンド・ラインで「sqlcmd」と入力する。
SSMSEは,使いやすいGUIを備えているので,初心者にはお勧めのツールだ。GUIを使って,SQL Server Expressの管理タスクを実行できる。上級ユーザーなら,SSMSEに付属する統合クエリ・エディタを使って,コマンドベースの管理を実行できる。SSMSEは,「SQL Server 2005 Express with Advanced Services」に付属しているほか,MicrosoftのWebサイトからダウンロードできる。
sqlcmdとSSMSEは,どちらも複数台(インスタンス)のSQL Server Expressを管理できる。SQL Server Expressの管理には,ネットワーク・アクセスの構成も含まれる。SQL Server Expressの出荷時は,デフォルトでネットワーク・アクセスが無効になっている。ネットワーク・アクセスを有効または無効にするには,SQL Server ExpressとSQL Server Express with Advanced Servicesに付属する「SQL Server Surface Area Configuration」というツールを使う。
このツールを使ってネットワーク・アクセスの設定を変更するには,[スタート]-[すべてのプログラム]-[Microsoft SQL Server 2005]-[構成ツール]-[SQL Server 2005セキュリティ構成]を選択して,「サービスと接続のセキュリティ構成」をクリックする。すると「SQL Server 2005 Surface Area Configuration SQL Serverの保護」というツールが起動するので,ここで画面左側のツリーから「リモート接続」の項目を選択して,「ローカル接続およびリモート接続」をクリックした上で,「TCP/IPのみを使用する」「名前付きパイプのみを使用する」「TCP/IPおよび名前付きパイプを使用する」のいずれかを選択する。
バックアップとリストアも重要なデータベース管理タスクだ。データベースをバックアップすると,サーバー障害やユーザーによる誤操作,アプリケーションのエラーなどによってデータベース内のデータが破損した場合に,バックアップされているデータを使ってデータベースをリカバリできる。
データベースのバックアップは,対話的または自動で実行する。対話的にデータベースをバックアップする場合は,sqlcmdとBACKUP T-SQLコマンドを組み合わせるか,またはSSMSEを使用する。SSMSEを使う場合は,バックアップしたいデータベースを右クリックして[タスク]-[バックアップ]を選択する。
自動バックアップは,一度バックアップ・プロセスを設定すれば,あとは何もする必要がないので,手動でバックアップよりも簡単だ。SQL Server Expressには,自動バックアップ・プロシージャを作成する機能は組み込まれていないが,sqlcmdとT-SQLそれにWindowsのタスク・スケジューラを組み合わせることによって,自動バックアップ・ソリューションを作成できる。
SQL Server Expressの管理については,「SQL Server 2005自習書シリーズ」というサイトに掲載されている各種ホワイト・ペーパーで詳しく述べられているので,参考にしていただきたい。