2

クライアントサーバータイプのソフトウェアのバックエンドでMSAccessを使用し、データベースファイルがクライアントからサーバーに送信される場合、SQL Serverと比較して、データベースの処理、転送速度、またはパフォーマンスに問題が発生しますか?

4

4 に答える 4

7

私の経験では、小規模な LAN ベースの環境では、MS Access MDB ファイルと SQL Server のパフォーマンスには 4 つの大きな違いがあります (小規模とは、同時ユーザー セッションが 10 を超えない 20 ユーザー以下を意味します)。

  1. 安全。アクセス MDB ファイルを使用するには、クライアントが MDB ファイルに直接アクセスできる必要があります。一部のユーザーのデータ アクセスを制限する必要がある場合、このアーキテクチャは本当に安全ではありません。アクセス ユーザー レベルのセキュリティは破られる可能性があります。セキュリティ要件が満たされている場合は、OS でファイル レベルまたはファイル共有レベルのセキュリティを使用できます。
  2. MDB ファイルは、ネットワーク エラーの結果として破損する可能性があります。SQL Server データベースが破損したのを見たのは、サーバーのハードウェア障害の結果だけでした。
  3. MDB ファイルの上限は約 25 ユーザーであり、Access は挿入、更新、および削除の大量のトランザクションに敏感です。
  4. ほとんどの場合、Access では、すべてのユーザーがデータベースからサインアウトして、テーブルの構造に変更を加える必要があります。これは、SQL Server で DDL スクリプトを使用するよりも不便です。Access を使用する場合は、 LDBViewのコピーを取得することをお勧めします。これにより、データ構造に日常的な変更を加えるたびに、誰をデータベースから除外する必要があるかがわかります。

ユーザー対象者が少なく、展開の単純さがクライアント組織にとって魅力的である場合は、バックエンド MDB ファイルを使用するケースがあります。ただし、新しいプロジェクトを開始する場合は、SQL Server バックエンドの利点を慎重に検討する必要があります。多くのユーザーが利用する場合は、SQL Server を強くお勧めします。

最新バージョンの MS Access と適切に構成された LAN で MDB ファイルを使用すると、転送速度に問題が生じることはほとんどありません。

于 2010-07-17T19:27:38.480 に答える
5

MS Access をバックエンド データベースとして使用する場合、それはクライアント サーバー ソリューションではありません。Jet データベース (MS Access が作成する種類) は、クライアント サーバーではなく、ファイル ベースです。

クライアントと DB の間の帯域幅が高い場合 (同じネットワーク上の別のサーバーのように)、転送速度に関連する大きなパフォーマンスの問題は発生しません。ただし、低速の WAN リンクを介してクライアントから DB に接続している場合は、パフォーマンスのボトルネックが確実に発生する可能性があります。

于 2010-07-16T14:06:19.107 に答える
2

ネットワーク経由のアクセス、特に WAN の使用に関する記事があります。

http://www.kallal.ca/Wan/Wans.html

于 2010-07-17T19:05:25.163 に答える
0

すでにいくつかの良い答えがあります。しかし、見落とされがちなことは、軽量の mdb を使用すると、重量のある SQL サーバーよりもはるかに優れたパフォーマンスが得られるシナリオがあるということです。たとえば、マルチユーザー アクセスはそれほど重要ではないが、データに対して多くのバッチ処理を行う必要がある場合、mdb ファイルを使用するとはるかに高速になります。一方、従来の OLTP 処理が多くのユーザーで行われている場合は、実際のクライアント/サーバー データベースの恩恵を受けることができます。

于 2010-07-30T21:14:34.753 に答える