技術解説
SQL Server 2005のエンタープライズ機能

2.安全なバックアップと優れた制御

Chris Alliegro
2006/04/07
Copyright (C) 2005, Redmond Communications Inc. and Mediaselect Inc


インタビュー:SIerから見たSQL Server 2005の注目機能

 Management Studioに加え、SQL Server 2005には保守オペレーションの信頼性向上と、データベースの構成および管理タスクの簡素化を狙って、さまざまな拡張機能が搭載される。注目すべき機能としては、次のようなものがある。

■ミラード・バックアップ
 SQL Serverの従来のバージョンには、データベースや関連ファイルのバックアップとリストア用に、ビルトイン・ユーティリティが含まれていた。SQL Server 2005 Enterprise Editionでは、従来のツールにあった制約がなくなり、データを複数のメディア(テープ・ドライブなど)にバックアップすることが可能になる。これにより、メディアの障害でバックアップが消失するといった事故を防止できる。ミッション・クリティカルなデータの場合、サードパーティのバックアップ・ソフトウェア製品に対抗する代替手段として、従来のバージョンに組み込まれたバックアップ・ユーティリティより強力なものとなるだろう。

■コマンドライン診断接続
 これはSQL Serverが標準接続要求に応答しないとき、診断クエリやトラブル・シューティングを実行するための管理者専用接続(DAC)だ。SQL ServerはDACに一定のリソースと専用ポートを設定する。これによって管理者は、応答のないSQL Serverにアクセスすることが可能になる。例えば管理者は、DACを利用してデータベースのロッキング問題をチェックしたり、メモリ・キャッシュのテストやクリアを行ったり、あるいはSQLプロセスを強制終了することが可能になる。従来のバージョンでは、ユーザー・ブロッキング問題からリカバリする場合、しばしばSQL Serverの再スタートが必要となり、ダウンタイムが長引いた。

■動的メモリ・コンフィグレーション
 SQL Server 2005はAddress Windowing Extensions(AWE)をサポートする。これによってデータベースは、32bit版Windowsで最大64Gbytesのメモリまでアクセス可能になる。Windows Server 2003で実行する場合、SQL Server 2005は必要に応じてAWEメモリを動的に割り当てる(または解放する)ことが可能になる。SQL Server 2000もAWEをサポートしていたが、メモリは起動時に割り当てられるため、再起動せずに変更することはできなかった。

エンタープライズ市場を狙う高可用性機能

 SQL Server 2000 Enterprise Editionの投入は、Microsoftがエンタープライズ・データベース市場に本腰を入れる最初のステップとなった。このエディションでは、Microsoft Cluster Services(MSCS)フェイルオーバー技術へのサポートが大幅に強化され、ログ・シッピングと呼ばれる機能が組み込まれた。いずれの機能も、データベースやデータベース・サーバの障害発生時のダウンタイムを短縮した。SQL Server 2005 Enterprise Editionでは、これらの機能をさらに拡張するとともに、保守時間を削減し、障害からの復旧を高速化する新機能をいくつか追加している。

 高可用性機能の強化は、Microsoftがエンタープライズ市場でのシェア拡大に強い意欲を持っていることを示している。市場での収益力で見た場合、同社はいまだにIBMやOracleの後塵を拝している。機能面でSQL Serverと競合他社のデータベース管理システムの格差が縮小すれば、ミッション・クリティカルな大規模データベース・アプリケーション向けの信頼できるソリューションとして、SQL Serverの認知度をさらに高めることができるとMicrosoftは期待する。

■被害を緩和する冗長性
 クラスタリングなどのフェイルオーバー戦略では、システムやデバイスに障害が発生したとき、データベースの冗長コピーやSQL Serverのセカンド・インスタンスを素早くオンラインにすることでデータベースの可用性を向上させる。SQL Server 2005では、こうした冗長性やフェイルオーバー機能が従来のバージョンより拡張されている。

 SQL Server 2005でも迅速な再起動ソリューションであるMSCSのサポートは継続され、クラスタ内の1台のマシンが停止したとき、別のマシンがアプリケーションを直ちに再起動するようになっている。クラスタ内のマシンはストレージ(SANボリュームなど)を共有し、専用設計のネットワークとサーバ・ハードウェアを利用する。SQL Server 2005 Enterprise Editionは、32bitシステムでは8ノードのフェイルオーバー・クラスタを、64bitシステムでは4ノード・クラスタをサポートする。SQL Server 2000では、4ノード・クラスタしかサポートされていなかった。

編集部注:米Microsoftの以下のドキュメントによれば、SQL Server 2005では、32bit/64bitシステム向けともに、8ノード・クライスタをサポートするとしている。

Hardware and Software Requirements for Installing SQL Server 2005[英文](SQL Server 2005 Books Online)

また同じく米Microsoftの以下のドキュメントによれば、SQL Server 2000では、32bitシステム向けは4ノード、64bitシステム向けは8ノードのクラスタに対応していたとの記述がある。

Database Engine Availability Enhancements[英文](SQL Server 2005 Books Online)

 また、SQL Server 2005はログ・シッピングを強化するデータベース・ミラーリング機能を搭載する予定だ。ログ・シッピングは、予備マシン上にプロダクション・データベースのコピーを保持するもので、定期的にプロダクション・データベースのトランザクション・ログを予備マシンにコピーし、ログに記録された変更を予備データベースへ反映させる。

 ただしログ・シッピングでは、プロダクション・データベースの障害発生時に予備データベースをオンラインにする場合、オペレーターの介入を必要とする。それに対し、データベース・ミラーリングはプロダクション・データベース(プライマリ・データベース)と予備サーバ上にコピーされたデータベース(ミラー・データベース)間の自動フェイルオーバーをサポートする。データベース・ミラーリングは、MSCSを利用したフェイルオーバー・サポートの代替の1つで、よりシンプルかつコストのかからない方法だ。特殊なハードウェアや共有ストレージ、あるいは追加的なサービスは必要としない。当初、データベース・ミラーリングは、SQL Server 2005の初期リリースに含まれる予定だったが、2006年上半期まで正式にはサポートされないことになった。ただし、その間ユーザーは、テストや評価のために同機能にアクセスすることは可能だ。

■保守および障害復旧の時間短縮
 可用性の向上を図るもう1つのアプローチは、計画的なダウンタイム、すなわち日常の保守オペレーションにかかわるダウンタイムの極小化だ。保守オペレーションを実行する間、通常はユーザーあるいはアプリケーションからサーバやデータベースを利用できなくなる。SQL Server 2005 Enterprise Editionでは、特定の保守オペレーションが行われている間も、アプリケーションやユーザーからアクセスできるようにすることで、データベースの可用性を高めている。

 SQL Server 2005 Enterprise Editionがサポートするオンライン・オペレーションには、次のようなものが含まれる。

  • インデックス・オペレーション:細分化されたインデックスを再構築してクエリのパフォーマンスを改善する。

  • パーシャル・データベース・リストア:データベースのサブセット(ファイルあるいはファイル・グループ)をバックアップから復旧させるプロセス。

  • “ホット・アド”メモリ・カードをサポートするサーバ・ハードウェアへのメモリ追加

 SQL Server 2005 Enterprise Editionでは、前バージョンと比較して、サーバやディスクの障害発生からデータベースを復旧させるまでの時間が短縮される。データベースの復旧にはいくつかのステップがある。まずデータベースの構造を再構築し、(必要であれば)最新のバックアップからデータを取り込み、トランザクション・ログに記録されたすべてのトランザクションを再適用し、最後にデータベースの障害発生で中断したトランザクションをロールバック(アンドゥ)させる。

 SQL Server 2000ではすべての復旧ステップが完了するまで、ユーザーやアプリケーションからデータベースを利用することはできなかった。それに対して、SQL Server 2005の場合、最後のロールバック・ステップの途中からデータベースをオンラインに戻すことが可能になる(ただし、未完のトランザクションを含むデータベースの行にはアクセスできない)。

レプリケーション機能の強化ポイント

 SQL Serverのレプリケーション機能には、複数のデータベース・サーバ間でデータを自動的にコピーしたり、同期させるためのツールとサービスが含まれたりしている。レプリケーションは、多くのデータベース拡張アーキテクチャの中核コンポーネントだ。例えば、クエリを複数の独立したデータベース・サーバに分散することで、サーバ1台当たりの負荷は低減される。レプリケーションはまた、複数のサーバの情報をロールアップするとき(支社の経理データを本社で収集するなど)や、オフラインでデータベースにアクセスするモバイル・ユーザー(ラップトップに注文情報を入力する営業マンなど)をサポートするときにも一般的に利用される。SQL Server 2005は既存のレプリケーション・システムを効率的に管理することが可能で、新しいレプリケーション・シナリオをサポートする場合も、それほど多くのカスタム・コードを記述しなくてよい。

 SQL Server 2005のレプリケーションには、次のような機能拡張が施されている。

■データベース・スキーマ変更のレプリケーション
 SQL Server 2000のデータベース・スキーマ変更のレプリケーションに関するサポートは限定的だった。例えば、管理者は特殊なビルトイン・ストアド・プロシージャを使って、レプリケートされたテーブルのカラムを追加、あるいは削除できても、カラムのデータタイプの変更、制約の追加、解除、そのほかのスキーマ変更はできなかった。SQL Server 2005では、特殊なストアド・プロシージャを使わずに幅広いスキーマ変更をレプリケートできる。管理者はSQLコマンドを用いて、データベースのマスタ・コピー(パブリッシャ)のスキーマ変更を行うと、自動的にレプリケートされたコピー(サブスクライバ)に適用される。

■OracleからSQL Serverへ
 SQL Server 2005はOracleデータベースからSQL Serverへのレプリケーションをサポートする。SQL Server 2000はSQL ServerからDB2やOracleへのレプリケーションはサポートしていたが、他社のデータベースからSQL Serverへデータをパブリッシュする場合は開発者がカスタム・コードを記述しなければならなかった。新しい機能は拡張性の高いアーキテクチャの実装を容易にするため、オンライン・トランザクション・システムやデータ・ウェアハウスなどを他社のデータベースで構築している大企業にとって魅力的に映るだろう。Oracle上で稼働しているプロダクション・データベースやセントラル・データ・ウェアハウスからMicrosoftの安価なデータベース・エンジンが稼働するサーバに負荷を分散するのに役立つはずだ。

■Webベース・レプリケーション
 SQL Server 2005はHypertext Transfer Protocol over Secure Socket Layer(HTTPS)を利用して、Webベースのレプリケーションをサポートする。この機能を利用すれば、リモート・ユーザーがデータを同期させるために会社のネットワークにダイヤルインしたり、彼らをサポートするために仮想プライベート・ネットワーク(VPN)を構築したりする必要はなくなる。

●管理性の向上
 SQL Server 2005では、管理者がレプリケーション・プロジェクトの設定や管理に用いるウィザードやツールが簡素化され、能率的になる。例えばレプリケート・データベース(パブリケーション)を作成するウィザードは、SQL Server 2000のものと比べ、ページやダイアログ・ボックスが整理されている。さらに、SQL Server 2005のサブスクリプション・ウィザード(レプリケーション・システムのパブリッシャ、スケジュール、サブスクライバ、そのほかのコンフィグレーションを定義するために用いられる)を利用すれば、ウィザードを何度も起動することなく、複数のサブスクリプションを作成することが可能だ。SQL Server 2000では、新しいサブスクリプションを作成するごとにウィザードを実行する必要があった。

導入に当たっての注意点

 SQL Server 2005は日常的な保守作業の多くを簡素化し、スムーズに実行できるようにするとともに、データベースやデータベースにアクセスするアプリケーションの可用性を向上させる。

 とはいえ、導入に当たって注意すべき点や考慮すべき点がないわけではない。

■Management Studioにデバッガがない
 多くの開発者や管理者は、これまでSQL Server 2000のクエリ・アナライザで行ってきたスクリプトやクエリ、ストアド・プロシージャの開発を、今後はManagement Studioのクエリ・エディタを使って行うことになる。ところがそこに1つの大きな欠落がある。クエリ・アナライザと異なり、Management StudioにはT-SQLデバッガが含まれていないのだ。複雑なスクリプトやクエリ、ストアド・プロシージャを開発する場合は、T-SQLコードのデバッグが可能なVisual Studioを利用しなければならない。

■バックアップの圧縮ができない
 ミラード・バックアップのサポートにより、SQL Serverのバックアップ・ユーティリティの大きな制約の1つが取り払われた。ところが、もう1つの制約は残されたままになっている。バックアップ・ユーティリティには、データ圧縮機能がビルトインされていないのだ。そのため管理者はSQL Serverのバックアップ・ユーティリティに対して、Quest SoftwareのSQL LitespeedやIderaのSQL Safeなどの比較的安価な市販バックアップ製品ほど効率的ではないと感じるかもしれない。

■データベース・ミラーリングとExpress Edition管理機能は当面出荷されない
 前述したように、データベース・ミラーリングもExpress Editionの新しい管理ツールも、SQL Server 2005の出荷には間に合わない。Microsoftは現時点でリリースの日時や方式を明らかにしていないが、どちらの機能も2006年上半期には提供するとしている。

編集部注:冒頭で述べたとおり、ミラーリング機能はSQL Server 2005 Service Pack 1からサポートされる予定であり、現時点でも開発途中のコミュニティ・プレビュー版[CTP版]として試用が可能である。またExpress版向けのManagement Studioについても、開発途中のCTP版が公開されている。以下のページよりダウンロードが可能である。

Microsoft SQL Server Management Studio Express - Community Technology Preview (CTP) November 2005

競合他社との距離は縮まったか?

 Microsoftはエンタープライズ・データベース市場で先行するOracleやIBMにキャッチアップするために、今回全力で取り組んだ。しかし、SQL Server 2005に搭載された高可用性機能の多くは、すでに競合他社の製品に見ることができる。例えばOracleは、SQL Serverのフェイルオーバー・クラスタリングやデータベース・ミラーリング、オンライン保守オペレーションと同様の機能をサポートしている。そしてほとんどの場合、Oracleの提供する機能の方が、成熟度という面では勝っている。Data Guardと呼ばれるOracleのデータベース冗長技術は信頼性が高く、ミラーリング・ソリューションもネットワーク・トラフィックにかかる負担は少ない。SQL Server 2005 Enterprise Editionは多くのギャップを埋めたとはいえ、Microsoftが競合他社を打ち破るためには、今後さらなる製品の進化が求められる。

 最後に注意すべき点は、高可用性機能の多くがEnterprise Editionのみの搭載になることだ。SQL Server 2005 Standard Editionに搭載されるのは、Enterprise Editionのデータベース・ミラーリング機能のサブセット版と2ノード・フェイルオーバー・クラスタリングのみとなる。また、SQL Server Standard/Workgroup/Expressの各エディションは、オンライン保守オペレーション機能をサポートしていない。

 SQL Server 2005(米国版)は、2005年10月に製造工程への出荷が始まり、正式には2005年11月7日に発表された。製品は2005年12月初旬から、Microsoftの販売チャネルを経由して提供される。


 INDEX
  [技術解説] SQL Server 2005のエンタープライズ機能
    1.一新された管理ツール
  2.安全なバックアップと優れた制御
        コラム:データベース・ミラーリングとフェイルオーバー・クラスタリングの違い
 
 技術解説


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間