速度が安定しているから

複数台で同時にデータファイルをアクセスしたいなら、データベースエンジンとしてSQL Serverを利用した方がいいのはなぜ?

一つは、速度の問題なんだ。
Accessの通常のクエリーの場合、他のPCやサーバにあるデータファイルのテーブルの全データを一旦、クライアント(自分のPC)に全て持ってきてから、抽出を行うので、時間がかかるんだ。


一方、SQL Serverの場合は、SQL文を投げると抽出を行い、一致したデータだけをクライアント(自分のPC)に送ってくるので、ネットワークを介して送られてくるデータ量が少なくて済むんだよ。


なるほど。同じ処理をしても、SQL Serverに比べてAccessの場合は、ネットワークを介して送られてくるデータ量が多くなってしまうということなんだね。
Accessのデータファイルを別のパソコンにおいて接続して利用すると、データファイルを置いたPCの速度やネットワークのレスポンス分処理に時間がかかります。時に、そのレスポンスまでの時間が不具合の原因となることがあります。
ネットワーク経由でデータファイルをアクセスできなくなった時は、自分のパソコンにデータファイルをコピーして接続してみて、問題なく動作するか確認してみてください。問題なく動作するようであれば、ネットワークもしくはデータファイルがおいてあるPCの速度が不具合の原因となります。
また、ウィルス対策ソフトがチェックを行っていてレスポンスまでの時間がかかる場合もあるようです。その場合、一時的にウィルス対策ソフトを無効にして動作させてみると、ウィルス対策ソフトが原因かどうか判断できます。
ファイルの安定性が優れているから

もう一つの理由は、SQL Serverは複数台の同時利用を想定して設計されているのに対し、Accessはそこまで複数台の同時利用を想定して作られていないからということだよ。
作り方にもよるけれど、3台以上で同時利用すると、データファイルが壊れやすくなるよ。
もちろん、定期的に最適化してバックアップをとって運用してもいいんだけど、やはり安心感という意味では、SQL Serverの方がはるかに優れているよね。


得意、不得意があるんだね。

そのとおり。Accessのデータベースはコンパクトで、一台で使うには小回りもきく優れものなんだけれど、複数台で利用するならSQL Serverの方がいいんだ。もちろんSQL文なども微妙に違ってくるから、新たに勉強しなければいけないことも沢山出てくるけれど、メリットを考えると十分学ぶ価値があると思うよ。
それに、アプリ部分(クライアント)はAccessで開発すれば、操作性もほとんど変わらないように作成もできるから、SQL Server+Access(ODBC接続)の組み合わせはお勧めなんだ。
以前はAccessとSQL Serverの親和性が非常に高いADPというファイル形式でソフトを作成できました。SQL Serverとの相性がとてもよかったのですが、このファイル形式はAccess2010までのバージョンしか対応しておりません。現在はODBC経由でSQL Serverに接続します。現在もADP形式のファイルをご利用でしたら、早めにAccess+ ODBC接続形式に修正されることをお勧めいたします。ご相談はこちらの会社がお勧めです。
SQL Serverを利用した便利な売上仕入在庫管理ソフトは下記からお申込できます。
コメント