マルチユーザー アクセス

Microsoft SQL Server Compact では、SQL Server Compact データベースへの単一または複数の接続が許可されます。

複数の接続を使用して SQL Server Compact データベースにアクセスできることにより、開発者は単純なモデルで開発を行うことができます。SQL Server Compactデータベース エンジンでは、複数のアプリケーションからの同時要求、または単一のアプリケーションからの複数の接続要求を処理できるので、開発者がデータベース アクセスのスケジュールを設定する必要はありません。

SQL Server Compact で、データベースにアクセスできる接続が 1 つに限定されている場合は、次のトランザクションが開始される前に現在のトランザクションを完了して、同時実行を制限する必要があります。SQL Server Compact では、別のデータにアクセスしたり変更を加える複数のアプリケーションを同時に実行できます。データベースの特定のリソースに対するアプリケーション間でデータ競合がほとんどない場合、複数のアプリケーションによるデータベースへのアクセスを許可することで、同時実行が向上します。

SQL Server Compact データベースへのアクセスは、以下の方法で実行されます。

  • 単一の接続 - 単一のアプリケーションが、SQL Server Compact データベースへの接続を 1 つだけ確立します。

  • 複数の接続 - さまざまな操作をサポートするため、単一のアプリケーションが単一のデータベースに対して複数の接続を確立する場合があります。

  • 複数のアプリケーション - 複数のアプリケーションから単一のデータベースに同時にアクセスできます。開発者は、排他接続を管理する必要はありません。データベースに別のアプリケーションが接続していても、ユーザーは SQL Server Compact クエリ アナライザーなどのデータベース ツールを使用できます。

アプリケーションで単一の接続が必要で、その他の接続またはアプリケーションが同時にデータベースにアクセスすることを望まない場合は、マルチユーザー アクセスが許可されないようにデータベースを排他的に開くことができます。排他接続の詳細については、「データベースを開く際にファイル モードを設定する方法 (プログラム)」および「OLE DB を使用してデータベースを開く際にファイル モードを設定する方法 (プログラム)」を参照してください。一部の 64 ビット プラットフォームの環境では、以前のバージョンの SQL Server Compact を使用したデータベース ファイルへの同時アクセスがサポートされません。64 ビット コンポーネントの詳細については、「64 ビット データベース アプリケーションの管理」を参照してください。

ロックは、同時実行制御メカニズムとして機能します。ロックを使用することで、すべてのトランザクションを互いに完全に分離して実行できます。さらに、必要であれば、複数のトランザクションを実行することも可能です。詳細については、「ロック (SQL Server Compact)」を参照してください。

データベースへの同時接続の数は、利用可能なリソースの数と量によって制限されます。たとえば、固定サイズのセッション テーブルでは、同時接続の数は最大 256 個に制限されています。

重要

SQL Server Compact 4.0 は 256 個の接続を完全にサポートし、仮想メモリの不足によるエラーがスローされることはありません。

ロールまたは特権はサポートされていません。アプリケーションおよびユーザーは、SQL Server Compact の以前のバージョンと同じ認証手順と承認手順を使用して、データベースに接続できます。