みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

access SQLサーバとの接続によって何が得られるか?

access SQLサーバとの接続によって何が得られるか?

宜しくお願いします。

お恥ずかしいながらSQLサーバーがまったくもってわかりません。
会社でマイクロソフトのaccessを使うのですが、いろいろaccessを勉強していて
思ったのですが、より容量を増やすことができないか等を考えていたら、
SQLサーバーにあたりました。
(会社は小規模でノートPCを含めPC15台程度です。)
マイクロソフトのホームページやSQLサーバーのことが書いてあるホームページを見ると
「データーベース専用のサーバーで、運用・管理に最適です」
ぐらいのことはわかりますが、あとは意味がわからないのです。
実際何ができるのでしょうか?

例えば、前述のようにaccessの容量は2Gですが、SQLサーバーに接続することによって
クライアント側はaccessの画面でいつも通り操作して、裏にはSQLサーバーに接続してあるので、
2G以上のデータを保存できるとかでしょうか。

ただのネットワークを介したデータ保存のドライブならLAN用のHDDもあります。
(しかもこちらの方が安い)
その違いがわかりません。

サーバーという分野に初めて踏み込んだのでどうか易しく教えてください。

宜しくお願いします。

投稿日時 - 2009-04-26 23:56:31

QNo.4911922

暇なときに回答ください

質問者が選んだベストアンサー

世の中にはAccessのプロフェッショナルという人がいるのも確かで、私もSQL Serverはいかなる環境・ケースでもAccessより優れているというつもりはありません。

私見ですが、Accessと比較した場合にSQL Serverを導入する一般的なメリットはデータの集中管理にあると思います。
したがって、下記のような観点がそもそもない場合、SQL Serverを導入するメリットは限定的です(それこそ、データ容量が増やせるだけじゃないの、ということになるかと)。

1.データアクセスの集中管理
 Accessを共有フォルダに置いて処理をさせたところで、結局はクライアント側のリソース(CPU/メモリ)が使われます。SQL Serverにした場合、クエリなどのデータアクセスに関する処理はサーバのリソースで実行されますので、サーバのスペックが高ければ高いほど高いパフォーマンスが得られます。
 また、同時アクセスに対する制御が十分に行われるので、アクセス競合時の処理にも不安がありません(Accessでも十分に工夫してやれば、データ競合の問題は起こらないという意見はありますが、Accessというソフト自体がもともとがシングルユースを前提としており、複数ユーザによるアクセスを想定したデザインになっていないというところがポイントかと思います。要はデータベースとして基本的な部分でも、書く人のスキルに大きく依存します。)

2.高精度なバックアップ
 SQL Serverはトランザクション単位でログを記録することから、完全モードで運用すれば、トラブル発生の直前あるいはバックアップが保存されている限り過去の任意の時点までデータベースを復元することができます。
 Accessではmdbのコピーという方法しかないため、トランザクションの多い場合の復元時点のバリエーションには限界があります。

3.セキュリティ
 共有ドライブにAccessを置くということは、サーバに共有フォルダを設けないといけないということです。そのAccessを開ける人は一般的にそのフォルダに対して権限を持ちすぎることになります(場合によってはmdbを削除することもできるでしょう)。
 SQL Serverは通常TCP/IPでアクセスするため、サーバに共有権限を与える必要はありません。また、アクセスレベルも詳細に設定することができます。
 ユーザはサーバにあるSQL Serverの関連フォルダにアクセスすることはできませんから、不正なオペレーションから守ることができます。データに対する不正なオペレーションについても、ユーザの触れないレベルでログを記録したり、強制的にロールバックしたりすることができます。

4.Accessにはない機能の利用
 Accessのクエリに相当するビュー以外にも、ストアドプロシージャ、テーブル関数、トリガなどの機能を使って、データベース側で固定処理を組み込むことができます。また、データベース側でスケジュール処理を実行させたり、メールを飛ばしたりすることが可能です。

投稿日時 - 2009-04-27 12:02:06

お礼

回答ありがとうございます!

丁寧な説明ありがとうございました。

多人数での同時アクセスでは何度も舌打ちした経験があります(苦笑)。
またバックアップやセキュリティ、処理速度とかにも関係あるんですね。
勉強になりました。

確かマイクロソフトで限定期間無償ダウンロードがあった気がするので、
時間が空いたら実際、いじってみようかと思います。

回答の付与ポイントですが、お二人とも私の立場にたって、
物事を考えてくださっているのが、強く伝わったので、
甲乙つけがたいのですが(むしろ両方とも良回答(20)にしたいぐらい)、

jamshid6さんの説明が僕でも理解できたので、
このような付与にします。

本当に有難うございました!

投稿日時 - 2009-04-27 20:22:01

このQ&Aは役に立ちましたか?

5人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

SQL Serverもソフトウェアの一種です。
ですので利用する場合には、Accessと同じようにPCにインストールを行います。SQL Serverというハードウェアがあるわけでありません。

SQL Serverは誤解を覚悟で言うならAccessの超高性能バージョンと言えます。パフォーマンス、バックアップetcいろいろな点がデータ収納に特化しています。
上位エディションでしたら、保存できるファイルは大きくなりますが無料版のExpressでは保存できる容量は2GBまでだったと思います。
AccessをインターフェイスとしてSQL Serverを操作することは可能です。

参考リンクにも書かれていますが、取り扱うデータが重要でバックアップをしっかりと行いたい場合、多人数が同時アクセスなどを行うのでパフォーマンスを求める場合などでしたらSQL Serverをお勧めします。

ですが、単に容量を増やしたいだけでしたら、あまりメリットを享受できない気がします。それでしたら、Accessで現行データとアーカイブデータなどのように複数に分けて、データ保存のドライブならLAN用のHDDを使用された方が良いと思います。

参考URL:http://ziddy.japan.zdnet.com/qa4165450.html

投稿日時 - 2009-04-27 00:51:17

お礼

回答ありがとうございます!

丁寧な説明ありがとうございました。

多人数での同時アクセスでは何度も舌打ちした経験があります(苦笑)。
またバックアップやセキュリティ、処理速度とかにも関係あるんですね。
勉強になりました。

確かマイクロソフトで限定期間無償ダウンロードがあった気がするので、
時間が空いたら実際、いじってみようかと思います。

回答の付与ポイントですが、お二人とも私の立場にたって、
物事を考えてくださっているのが、強く伝わったので、
甲乙つけがたいのですが(むしろ両方とも良回答(20)にしたいぐらい)、

たまたまjamshid6さんの説明が僕でも理解できたので、
このような付与にします。

本当に有難うございました!

投稿日時 - 2009-04-27 20:20:03

あなたにオススメの質問