機能 (SQL Server Compact)
SQL Server Compact 3.5 は、スマート デバイスおよびコンピュータに配置できるコンパクト サイズのデータベースです。SQL Server Compact 3.5 をスマート デバイスに配置するには、.cab ファイルを手動でコピーしてインストールするか、または Microsoft Visual Studio 2008 を使用します。SQL Server Compact 3.5 には、コンピュータ用のインストーラ (SSCERuntime-ENU.msi) が別途用意されています。
SQL Server Compact 3.5 の開発サポートは Visual Studio 2008 で提供され、データベース管理のサポートは Microsoft SQL Server 2008 で提供されます。SQL Server の SQL Server Management Studio または SQL Server Management Studio Express (SSMSE) を使用して、スマート デバイスやデスクトップ コンピュータに格納されている SQL Server Compact 3.5 データベースにアクセスできます。SSMSE のユーザー インターフェイスは SQL Server Management Studio のサブセットです。SSMSE は、Web から無償でダウンロードできます。
SQL Server Compact 3.5 特有の機能のうち、いくつかを次に説明します。
同期
SQL Server Compact 3.5 におけるデータのレプリケートおよび同期で、いくつかの機能が強化されています。強化された機能は以下のとおりです。
- 複数のサブスクリプションのサポート
SQL Server Compact 3.5 の以前のバージョン (バージョン 2.0 以前) では、1 つのデータベースに 1 つのサブスクリプションしか作成できませんでした。複数のパブリケーションからデータをパブリッシュする環境では、開発者がパブリケーションごとに個別のサブスクリプション データベースを作成し、アプリケーションで開く必要があるデータベースを指定する必要がありました。SQL Server Compact 3.5 では、1 つのデータベースに複数のサブスクリプションを格納できるので、必要なプログラミング量が減少します。複数のサブスクリプションの詳細については、「複数のサブスクリプションのサポート」を参照してください。 - マルチユーザーのサポートと同期
SQL Server Compact 3.5 には、複数のアプリケーションから同時に同一のデータベースにアクセスするためのマルチユーザー サポートが導入されています。マルチユーザー サポートによって、マージ レプリケーションまたはリモート データ アクセス (RDA) を使用する前にデータベースへの接続を切断することなく、複数のデータベース ユーザーがデータを同期できます。マルチユーザー同期の詳細については、「マルチユーザー アクセスと RDA」および「マルチユーザー アクセスと同期」を参照してください。 - 同期の進行状況
開発者は、マネージ API を使用して同期の状態をフィードバックできます。これを使用して、ユーザーに対し同期の進行状況を通知できます。ステータス バーの詳細については、「非同期方式によるデータ同期」を参照してください。 - 列レベルの監視
SQL Server Compact 3.5 の以前のバージョンでは、ある行の 1 列のみが変更されている場合でも、行全体が Microsoft SQL Server と同期されました。その行の変更されていない列に大量のデータがある場合、同期の時間が長引くことがよくありました。SQL Server Compact 3.5 以降のバージョンでは、変更された列だけが同期されます。列レベルの監視の詳細については、「行レベルの監視と列レベルの監視の使用」を参照してください。
ストレージ エンジン
SQL Server Compact 3.5 のストレージ エンジンの新機能および強化された機能では、モバイル アプリケーションの信頼性とパフォーマンスが向上しています。強化された機能は以下のとおりです。
- 改良されたストレージ エンジン
共通のメモリ プールを各アプリケーションが共有するモバイル アーキテクチャに最適な性能を発揮できるよう、ストレージ エンジンのアーキテクチャが書き直されました。原子性、一貫性、分離性、および持続性 (ACID) が完全にサポートされたことにより、デバイスの電力低下や接続中断があった場合のデータの信頼性が向上しています。詳細については、「データベース エンジンの概要 (SQL Server Compact)」を参照してください。 - マルチユーザー サポート
SQL Server Compact 3.5 には、複数のアプリケーションから同時に同一のデータベースにアクセスするためのデータ ページの行ロック、ページレベルのロック、および分離レベルが導入され、同時実行時のデータの整合性が確保されます。ロックの詳細については、「ロック (SQL Server Compact)」および「ロックのエスカレーション」を参照してください。 - 空ページの自動再利用
SQL Server Compact 3.5 は自動圧縮機能をサポートしています。この機能により、自動的に未使用のデータ ページが再利用され、デバイスの記憶域が節約されます。自動圧縮の詳細については、「データベースの管理 (SQL Server Compact)」を参照してください。
クエリ プロセッサ
SQL Server Compact 3.5 のクエリ プロセッサは以下の点が強化されています。
- コスト ベースの最適化
クエリ プロセッサでストレージ エンジンの統計サポートを利用することで、コスト ベースの優れたクエリ プランが作成されます。統計の詳細については、「データベース エンジンの概要 (SQL Server Compact)」を参照してください。 - 実行プランとクエリ ヒント
開発者は SQL Server Compact 3.5 でクエリ プランを表示したり、クエリを適切なものに修正したりできます。たとえば、データベースの設計、メディアのアクセス時間、特定の対応デバイスの CPU 速度などに基づいてクエリ プランを修正できます。 - 新しい SqlCeResultSet オブジェクト
新しい SqlCeResultSet オブジェクトでは更新とスクロールが可能なカーソルが公開されています。開発者は DataSet オブジェクトがあるデバイス上でデータを重複してバッファリングすることなく、SQL Server Compact 3.5 データベースに直接アクセスできます。このクラスにより、DataSet オブジェクトを使用する場合に比べてパフォーマンスが向上し、同じ作業を完了するために必要なコード量が減少します。また、このクラスは WinForms データ バインド インターフェイスをサポートしているので、DataGrid、TextBox、ListBox などの UI コントロールにバインドすることもできます。カーソルの詳細については、「カーソル (SQL Server Compact)」および「System.Data.SqlServerCe Namespace Objects」を参照してください。
SQL Server との統合
SQL Server Enterprise Manager および SQL Server クエリ アナライザに代わる SQL Server の管理ツール SQL Server Management Studio を使用して、デスクトップ コンピュータ上、またはデバイス上の SQL Server Compact 3.5 データベースを管理できます。この統合ツールを使用すると、接続先が SQL Server であっても SQL Server Compact 3.5 であっても同じ要領で操作できます。また、SQL Server Compact 3.5 データベースを SQL Server Management Studio Express を使用して管理することもできます。
Management Studio を使用する利点は、以下のとおりです。
- グラフィカルなクエリ実行プラン
開発者はグラフィカルなクエリ実行プランを使用して、クエリ実行プランを簡単に参照し、クエリのパフォーマンスに関する潜在的問題を詳しく理解することができます。もう 1 つの機能であるクエリ ヒントは、実行プランの一部の制御に利用できます。 - サブスクリプションの新規作成ウィザード
サブスクリプションの新規作成ウィザードは、データベースの作成や、その後の同期およびサブスクリプションに要する手間を最小限にするウィザードです。詳細については、「サブスクリプションの新規作成ウィザード」を参照してください。 - 拡張された Web 同期の構成ウィザード
SQL Server Compact 3.5 では、拡張版の Web 同期の構成ウィザードをサポートしています。新しい Web 同期の構成ウィザードでは、使用性の向上、HTTPS 仮想ディレクトリのサポートなどが強化されています。詳細については、「Web 同期の構成ウィザードのヘルプ」を参照してください。 - SSIS との統合
SSIS は、開発者が SQL Server Compact 3.5 データベースとさまざまなデータ ソースの間でデータを転送するためのサービスです。データ ソースには、Microsoft Access、Oracle、および IBM データベースが含まれます。SSIS には SQL Server Compact 3.5 の変換先アダプタと接続マネージャが含まれています。 - SQL エディタ
Management Studio の SQL エディタ コンポーネントは、Transact-SQL のステートメント、クエリ、およびスクリプトを対話的に作成、テストするための主要なツールです。SQL エディタには、クエリやコードの記述および編集を簡素化する機能があり、ファイルまたはオブジェクト エクスプローラから作成したスクリプトも編集できます。 - データベースの配置
Management Studio および Management Studio Express から、ローカル コンピュータに SQL Server Compact 3.5 データベースを作成できます。作成したデータベースは、構成してデータを格納し、複数のデバイスに配置することができます。これにより、開発と配置のための時間を大幅に節約できます。
SQL Server ではマージ レプリケーションの機能が強化され、SQL Server Compact 3.5 アプリケーションに次の利点がもたらされます。
- ビジネス ロジックを同期するマネージ API アクセス
SQL Server では、開発者がビジネス ロジック データを変更してから SQL Server データベースに格納できるマネージ API が公開されています。詳細については、SQL Server 2008 オンライン ブックの「マージ同期中のビジネス ロジックの実行」を参照してください。 - ダウンロード専用アーティクル (テーブル) のサポート
初めて同期を実行するときのメタデータの転送量を減らし、開発者が 2 回目以降の同期を実行するときの SQL Server の処理時間を短縮する機能です。詳細については、「マージ レプリケーションの概要」および「パブリケーションの作成」を参照してください。 - パーティション分割 (フィルタ選択) されたアーティクルのサポート
多くのモバイル アプリケーションでは、複数のユーザーが複数のデバイスから同一のデータにアクセスしないようにするためにデータをフィルタ選択します。アーティクルをパーティション分割できることで、開発者は同期に要する時間を大幅に減らし、スケーラビリティを向上させることができます。この機能は、多くのスマート デバイスの配置で特に役立ちます。パーティション分割されたアーティクルの詳細については、「パブリケーションの作成」を参照してください。
Visual Studio との統合
SQL Server Compact 3.5 では、Visual Studio 2008 と統合するために、以下の機能が強化されています。
- データベース管理
開発者は、Visual Studio 2008 を使用して、デスクトップ コンピュータまたは対応デバイスの SQL Server Compact 3.5 データベースを管理できます。開発者は、アプリケーションのコントロールに SQL Server Compact 3.5 テーブルをドラッグすることで、テーブルを自動的にそのコントロールにバインドできます。 - SQL Server Compact 3.5 の自動インストール
Visual Studio で SQL Server Compact 3.5 を使用する Microsoft .NET 接続アプリケーションをビルドすると、デバイスにアプリケーションを初めて配置するときに SQL Server Compact 3.5 エンジンが自動的にインストールされます。Visual Studio 2008 でネイティブ アプリケーションをビルドする場合は、SQL Server Compact 3.5 を手動でインストールする必要があります。詳細については、「スマート デバイス アプリケーションの配置」を参照してください。 - データ ディレクトリ サポート
DataDirectory は、データベースのパスを示す代替文字列です。DataDirectory を使用すると完全なパスをハードコードする必要がなくなり、プロジェクトの共有やアプリケーションの配置を簡単に行うことができます。たとえば、次の接続文字列の代わりに指定します。
"Data Source= c:\program files\MyApp\Mydb.sdf"
|DataDirectory| と記述する (パイプ記号で囲む) と、次の接続文字列を指定できます。
"Data Source = |DataDirectory|\Mydb.sdf"
AppDomain.SetData を呼び出すことにより、AppDomain に DataDirectory プロパティを設定します。 - マネージ アプリケーションの ClickOnce 配置
ClickOnce は、SQL Server Compact 3.5 でサポートされるソフトウェア インストール技術で、コンピュータにマネージ アプリケーションを配置するために使用します。ClickOnce を使用すると、Windows ベースのアプリケーションを Web サーバーやネットワーク上のファイル共有に容易に配置できるようになります。管理者は、サーバー上のファイルを更新するだけでアプリケーションを配置または更新できます。クライアントごとに更新を行う必要はありません。Microsoft Visual Studio 2008 では、ClickOnce によって配置されたアプリケーションのパブリッシュや更新が完全にサポートされます。ClickOnce 配置は、Visual Basic、Visual C#、および Visual J# によって作成されたプロジェクトでは使用できますが、Visual C++ では使用できません。64 ビット ClickOnce 配置の詳細については、「64 ビット データベース アプリケーションの管理」を参照してください。
参照
概念
マルチユーザー アクセス
トランザクション (SQL Server Compact)
パブリケーションのサブスクライブ (SQL Server Compact)
アーティクルへのフィルタの追加
その他のリソース
サブスクリプションの新規作成ウィザードのヘルプ
Web 同期の構成ウィザードのヘルプ