SQL Server 以外にも、世の中にはさまざまなデータベース エンジンが存在します。しかし、なぜ Microsoft Office Access のアップサイジングは、Microsoft SQL Server に行き着くのでしょうか。
それは、マイクロソフトが Windows XP Professional を初めとするクライアント オペレーティング システムから、Windows Server 2003 などのサーバー オペレーティング システムまで、データベース システムを構築するためのバックボーンのすべてを 1 つのアーキテクチャで提供しているから、アップサイジングが容易に行えるのです。
| データベースを支える強力で一貫したオペレーティング システム | |
| アップサイジングの技術的な 9 つのメリット | |
| アップサイジングは必要なこと |
現在使用されているデータベース エンジンが Access の場合、その大部分で使用されているオペレーティング システムは Windows です。したがって、SQL Server にアップサイジングした場合にも、Office 製品群との連携を図りつつ、現在の使い慣れたデータベース システム環境をそのままお使いいただけます。
しかも、SQL Server にアップサイジングすることで、以下に説明する 9 つのメリットを享受できるようになります。
アップサイジングすることにより、Access ベースのデータベース システムの障壁を乗り越えることができます。
リンク テーブル機能を使用している場合、サーバーの役割のパソコンとクライアント パソコンの間のネットワークには非常に大きな負荷がかかります。それは、Access を使用したシステムでリンク テーブルを使用した処理を行う場合には、いったんクライアント パソコンにデータをすべてコピーしてから行うためです。
SQL Server にアップサイジングを行い、クライアント サーバー型のシステムに置き換えた場合、サーバーで処理を行った結果のみをクライアント パソコンに返すため、ネットワークにかかる負担が大幅に軽減され、処理速度の向上が図られることになります。
今まで、検索に何分も待たされていたオフィスが、スピーディな環境に変わることは間違いないでしょう。また、ハブやルータ、ネットワーク ケーブルなどのネットワーク機器を高速対応なものに置き換える必要もありません。従来のネットワーク システムをそのままに、高速な処理が可能になります。
また、近年、安価に提供されるようになった Internet VPN などを使用して、遠く離れた拠点で本社のサーバーのデータを利用することも可能になります。本社のマスタを CD にコピーしてから各拠点で利用するなどの手間がなくなり、いつでも最新のデータを使用することができるようになります。
さらにサーバーが処理を行うことにより、クライアント パソコンにかかっていた負荷が軽減されるので、その CPU やメモリなどを高速なものに置き換えることなく、高速なデータベース システムを利用することができます。これにより、多数のクライアント パソコンでデータを共有している場合には、システム全体にかかるコストを将来にわたって大幅に減少させることができます。
SQL Server にアップサイジングした場合、今までサーバーの役割のクライアント パソコンに点在していたマスタなどのデータを一元管理できるようになります。
SQL Server のデータベースの処理容量は、Access に比べ大きく、通常の業務で使用するのであれば、データ容量の問題が発生することはほとんどないといえます。
それは、Access ではデータ容量に 2 GB までの制限がありますが、SQL Server では Access の約 5 億倍 (1,048,516 TB) のデータまでを扱える強力なデータベース エンジンが実装されているからです。このようにアップサイジングを行うことによって、世界最高水準の容量を持つデータベースを容易に使用できるようになります。
ファイル容量制限の問題だけでなく、Access のファイルはサイズが大きくなると、データベース システムそのものにアクセスができなくなるデッド ロックの危険にさらされることになります。大きなファイルを扱うことで処理そのものが遅くなるために、ネットワークやハードウェアのトラブルにより、データベースが破壊されてしまう危険性が高まるためです。また、ファイル システムそのものが破壊されてしまった場合には、データベース エンジンの復旧は不可能に近い状態となります。
SQL Server にアップサイジングすれば、データベース システムそのものの性能が格段に上がるために、このような最悪の状態に陥る可能性を極めて低く抑えることができます。
さらに、点在していたファイルを 1 か所で管理できるようになるため、メンテナンスにかかる時間や手間を大幅に削減することができます。今まで処理の高速化やエラー回避のために、始業前や業務終了後に Access の mdb ファイルを最適化していたような、データベースにまつわるさまざまな煩わしさからシステム管理者は解放されることになります。
また、容量制限やデータベース システム管理の問題が壁となって、データベース化したくてもできなかった処理を追加できるようになります。このように、Access から SQL Server にアップサイジングすることによって、業務の効率化をさらに推し進めることが可能になります。

Access は、そもそも多人数での利用を前提に開発されたデータベースではありません。そのため、同じテーブルを複数のオペレータが同時に扱う場合、データをロックするという機能が無いために、エラーが起きることがあります。また、処理が極端に遅くなるなどの現象も起きます。
SQL Server にアップサイジングすると、SQL Server の「同時実行制御機能」を利用することができるようになります。これは、ユーザーのデータベース システムへのアクセスを制限する機能です。データベースに書込みをするような処理を同時に行った場合には、一方の操作が終了するまで、もう一方は処理待ちとなります。これによりデータの競合を防止することができます。
この際に、処理が高速で行われるため、ユーザーは処理待ちを意識することはほとんどなく、Access を利用していたとき以上のスピードでデータを処理できます。
Access でバックアップを行う際に、大変な苦労をされていませんか。Access の場合、バックアップといっても単なるファイルのコピーであるため、実際にバックアップからデータを復元するときに、昨日のバックアップまで戻るような処理しかできなかった経験をお持ちのユーザーも多いのではないでしょうか。
また、システム管理者はバックアップのために常駐していなければなりません。そして、ファイルのコピーを誤操作した場合には、すべてのデータが消失してしまうという恐ろしい結末が待っています。
SQL Server にアップサイジングすれば、このような日々の業務から解放されます。厄介だったバックアップや復元も、計画的かつ容易に行うことができます。ディスク容量だけ十分に確保しておけば、それこそ、定時にバックアップを自動で取ることも可能です。
また、誤って処理することがないように、さまざまなオプションをウィザード形式で設定することも可能です。これにより、お客様は環境に合わせて最適なバックアップと万が一のときの復元処理を行うことができます。

USB を利用したスティック型メモリや、高速なネットワーク回線など、情報を盗み出す手口も日々巧妙になってきています。そんな中、単純なファイル共有でしか管理することができない Access のファイルでは、大切な情報を守る手立てがあまりにも少ないといえます。
SQL Server では、データベース システムへのアクセスを細かく設定することができるので、管理者権限でなければデータの実態を確認することですら困難です。単純なファイル システムではないので、大切なデータをサーバーのセキュアな空間に保持することができます。これにより、システム管理者は情報漏えいの危険からシステムを遠ざけることができるのです。

Access からのアップサイジングには、便利なウィザードが用意されています。お客様がお使いの Access にも実装されていますので、その使用方法は自習書を参考にご確認ください。
| • |
このウィザードを使用すれば、テーブルはほぼ完全に SQL Server に移行されます。また、クエリについても、移行可能なものは、ストアド プロシージャへと移行されます。フォームやレポートも、レイアウトやフィールドの情報は完全に移行され、マクロについても移行されることになります。また、モジュールについては、一部を除いて移行することができます。
ただし、クエリの一部と DAO (Data Access Object) で書かれたコードは移行できません。クエリからストアド プロシージャへの移行ができなかったり、正しく動作しない場合には、関数への置き換えや SQL 文の追加や修正が必要になります。また、DAO のコードは ADO (ActiveX Data Object) への書き換えが必要です。
しかし、これらはノウハウが多少あれば、移行できないオブジェクトはありません。そしてアップサイジング ウィザードを利用し、ファイル拡張子が mdb から adp に書き換わっても、フォームやレポートの使い勝手はほとんど変わりません。
アップサイジングした SQL Server のテーブルを利用して .NET 環境へと移行することで、.NET Framework を利用し、XML と XML Web サービスを活用したより一層容易なデータベース システムの共有とソフトウェアの製作が可能になります。XML を直接利用できるというメリットは、今までにない新たな構想のもとにアプリケーション開発にあたることができます。たとえば、Office 製品群とのより一層強固なデータ連携や、音声認識機能などのさまざまなデバイスを使用することができるようになります。
もちろん従来の Access 環境と並行して使用することも可能です。
Access をフロント エンドに使用する場合、他の開発言語や開発環境に比べ、データベースへのアクセス スピードや、セキュリティなどの性能面で引けをとることはありません。
実際に adp ファイルを使用することで、今までフォームを開いたり、テーブルのデータを開くのに時間がかかった環境でも、短時間でデータにアクセスすることができます。たとえば、拠点への回線が ADSL 回線などを利用した Internet 仮想 VPN 環境などで極端に遅い場合でも、社内 LAN と同じ感覚で使用することもできます (環境によっては実現できない場合があります)。
また、Windows 統合認証や SQL Server 認証など、SQL Server で提供される接続方式については、他の開発言語と同様に設定することができます。Microsoft Windows Server で提供される Active Directory 環境と組み合わせることによって、よりセキュアなデータベース環境を使用することが可能になります。
SQL Server には Access にはないさまざまな分析ツールが実装されています。その 1 つが BI (Business Intelligence : ビジネス インテリジェンス) です。分析ツールの中には他社データベースではオプションや別ツールとし提供されている BI 機能が、SQL Server 2005 には標準で搭載されています。SQL Server を移行先としてデータを蓄積するだけでなく、レポート作成や分析用キューブを利用して、データを次のビジネスに活用することが可能になります。SQL Server 2005 のビジネス インテリジェンス機能に関する詳細は、下記のリンクにてご確認ください。
| • |
SQL Server 2005 は、他のマイクロソフト製品群との親和性に優れています。特に Visual Studio 2005 との開発環境の統合により、今まで開発が難しかった Web アプリケーションなどの作成が容易にできるようになります。
ホーム ページなどから不特定多数がアクセスするようなデータベースを制作したり、他部署との連携を図るためにブラウザのみで対応できるデータベースを制作するときなどには、必要な部分だけを Access 以外のツールで補うことができます。
この 9 つのメリットは、現在お使いの Access で作られたデータベースを、今後も使い続けていくうえで重要なことです。
Access で作られたシステムを、最低限のコスト、かつ最高のパフォーマンスで使い続けていくためには、SQL Server へのアップサイジングをご検討されることをお勧めします。