- ベストアンサー
Access or SQLServer どちらを使用しますか?
こんにちは。 みなさんならAccessかSQLServerの、どちらのDBを使うかご意見ください(出来ればメリットやデメリットなどもあるとうれしいです) <環境> サーバー:Win2000Server、Access2000または、SQLServer7.0 クライアント:Win2000 ×10台 開発環境:VB6.0(SP5)、Win2000 <やりたいこと&悩み> 1)複数のパソコンからDBのデータをSelect、Insert、Update、Deleteする 2)データが多いので、Accessの場合は3つくらいのmdbに分けないといけない(Accessのサイズ上限を超えてしまう為)。分けた場合は、リンクテーブルが必要。データ数は、1ヶ月に3万件くらい 3)タイミングによっては、同時アクセスあり 4)AccessをDBとして試作品を作成したところ、ファイルをロックできませんでしたというエラーが1日1回程度でてしまう 5)SQLServerでは気軽(?)にユーザーがメンテナンスできない(Accessの知識は多少あり) このような感じですが、みなさんならどちらを選択されますか?ご意見よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
それだけの規模のクラサバシステムを構築するのであれば SQLServerにしておくべきでしょう、というよりも ACCESSでは危険が大きすぎます。 SQLServerと比較した場合のACCESSのデメリットとして ・データベース(mdbファイル)が破損する危険が大きい ・レコード件数が増えることによるレスポンスの低下が激しい ・ユーザー権限、アクセス権限などを管理する機能が乏しく マルチクライアントからの利用には向かない ・データベースの保守、管理機能が乏しく、 データベースの バックアップ等もmdbファイルそのものをコピーするぐらいしかない などが挙げられます。 ACCESSのmdbは、マルチユーザー・マルチクライアントの システムを管理できるほど高性能なデータベースではありません。 ACCESSで管理できるデータベースは、スタンドアロンや もっと小規模なシステム(クライアント2~3台程度)ぐらいが限界でしょう。
その他の回答 (4)
- O_cyan
- ベストアンサー率59% (745/1260)
SQLServerが良いと思います。 1)複数のパソコンからDBのデータをSelect、Insert、Update、Deleteする 小規模のシステムならAccessでも良いと思いますが想定されるレコード総数などで判断すればSQLServerかなと思います。 2)データが多いので、Accessの場合は3つくらいのmdbに分けないといけない・・・ AccessでDB自体を分割して使うよりはSQLServerで管理した方がメンテナンスもやり易い。 5)SQLServerでは気軽(?)にユーザーがメンテナンスできない(Accessの知識は多少あり) メンテナンスの面でしたらAccessの知識があればSQLServerからODBCを使いODBCデータベースとしてAccessのテーブルにリンクさせればAccess上で簡単にメンテできます。 mdbの使い方・構築のしかたでかなりAccessは使えるようになりますがそこまで創り込むのでなければSQLServerの方が安全ではないでしょうか。
お礼
回答ありがとうございます。 SQLServerの知識がなくても、Accessにテーブルリンクならマスタ登録など、ユーザーでもできそうですね。参考になりました。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
以前アクセスのDBをネットワークで共有して使っていたことがありますが、 遅いし、クライアントが複数の時おかしくなるしで使うのをやめてしまいました。(PostgreSQLを入れました) 複数のユーザーから使うのであれば DBサーバーを立てるのが良いと思います。
お礼
回答ありがとうございます。 複数の時おかしくなってしまうのなら、Accessではダメですね。今回、10台くらいのPCから頻繁にデータを読み書きする予定なので・・・。
- tak2003
- ベストアンサー率32% (174/540)
DBはSQLを使った方が後々よいかと思います。 アクセスのちんたらした速度ではファイルが膨大になった時に仕事にならないかもしれないからです。 先月まで鹿児島で官公庁向けの仕事をしていましたけど、アクセスで1万件超えたデータをソートするだけで、タバコを吸うだけの時間が掛かってしまいました。(作り手がへたくそだからかな?) 時には複雑すぎて処理できませんなどのメッセージも現れ、「むむ!簡単なSQL文のはずだが」と思いつつもSQLを分割して仮のテーブルを作り、そのテーブルを参照してSQLを流す、2分割方式を取って処理を行ったり・・・ 初心者でも簡単と言われるアクセスですが規模と用途によって無茶苦茶使いにくいことも事実?(使いこなせてないだけ?) よって、SQLサーバ7.0がお勧めです。 動きは速いし、SQL文が豊富だし、下手なエラーがでない。 メンテナンスと言っても、SQLを知らなくてもクライアントの操作でSQLのほとんどをカバーできるアプリを作っておけばメンテナンスも楽勝でしょう。
お礼
早速の回答ありがとうございます。 Accessは最適化しないと、どんどん膨らみますよね。やっぱり遅いですか。2分割方式はやりたくないですね(>_<)参考になりました。ところで、官公庁向けの仕事ってすごいですね。
- taka451213
- ベストアンサー率47% (436/922)
こんばんは。 あくまでも個人的見解ですが、 Normalに考えて、Accessはやめたほうがいいと思いますよ。 >SQLServerでは気軽(?)にユーザーがメンテナンスできない(Accessの知識は多少あり) これは問題点ではないと思います。 メリットのほうが計り知れないぐらいに大きい・・・。 (^^ゞ
お礼
早速の回答ありがとうございます。 メリットが大きいなら、SQLServerの方がよさそうですね。
お礼
早速の回答ありがとうございます。 実は試作段階で、すでにmdb破損しました(^^;サイズが2Gを越えたあたりで、開けなくなってしまいました。<それで3つくらいに分割しないと・・・となったのですが。比較してみると、結構Accessってデメリットが多いですね。参考になりました。