デスクトップアプリケーションにSql Server Compactを使用しますか? [閉まっている]
-
03-07-2019 - |
質問
デスクトップアプリケーションにSQL Server Compactを使用するのは理にかなっていますか?
- どのくらいのデータを処理できますか?
- 複数のユーザーで使用できますか?制約は何ですか?
- データベースファイルが破損するとどうなりますか?プログラムで回復することは可能ですか、または問題をリモートで簡単に解決できますか?
解決
私は確かにそうします(します)。 SQL Compact(SQLCE)には、いくつかのシナリオで明確な利点があります。今では、SQL Serverの代わりになるものではありません。スケーリングせず、数千の同時接続を実行するように作られていません。レポートサービスなどのために設計されていません。
ただし、フットプリントは tiny です。インストールは、DLLをコピーするだけです。バックアップは簡単なファイルコピーです。また、テーブルダイレクトまたはBCPを使用している場合は、ストレージおよび取得のために高速に移動できます。ああ、それは無料です。アプリのローカルデータストアだけが必要な場合、SQL Serverを展開して構成するのは面倒です。 SQLCEは簡単です。さらに、完全なSQL Serverと同じサンドボックスでレプリケーションサブスクライバーとして再生できます(他のほとんどの小さなDBではできません)。
編集:特定の質問への回答を忘れました:
- どのくらいのデータを処理できますか? 何の面で? DBサイズ?スループット?テーブルサイズ?行サイズ? 私の経験では、問題なくDBを数百MBまで使い果たしました。 4GB(4.0現在)を保持できると思います。スループットは、データの出し入れ方法に直接関係します。私たちは問題なく1秒あたり1k行をキャプチャするソリューションで使用しています。 1024列と最大行サイズ8kを使用できます。
- 複数のユーザー?まあ、それは複数の同時接続(3.5時点)を処理できるので、はい、それは動作するはずです。 1人のユーザーから複数の接続を使用しましたが、複数の接続は使用しませんでした。
- 壊れたデータベース? 「壊れた」を定義します。エンジンには「コンパクトと修理」があります。方法。他のファイルと同様のファイルです-壊れた実行可能ファイルをどのように修正しますか?あなたが求めているのであれば、フィールドの破損は見られません(悪いストレージカードを持っている1つのCEデバイスでやったのですが、それはエンジンの故障ではありません)。
他のヒント
小さなデータベースが必要な場合は、SQLLiteなどを使用します。
しかし、ここは記事ですサーバーでのコンパクトエディションの使用について
1つのアプリケーションに使用しましたが、うまく機能しました。私が抱えていた唯一の問題は、何らかの理由で、SQL Server 2005 Management StudioがSQL Server CEの最新リリースのすべてのデザイナー機能をサポートしていないことです(たとえば、テーブルを編集できません)。 2008年のバージョンを使用する必要があります。
十分高速ですが、確かに小さなデータセットに使用しました。