マルチユーザー アクセス
Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) では、SQL Server Compact Edition データベースへの単一または複数の接続が許可されます。
複数の接続を使用して SQL Server Compact Edition データベースにアクセスできることにより、開発者は単純なモデルで開発を行うことができます。SQL Server Compact Edition データベース エンジン では、複数のアプリケーションからの同時要求、または単一のアプリケーションからの複数の接続要求を処理できるので、開発者がデータベース アクセスのスケジュールを設定する必要はありません。
SQL Server Compact Edition で、データベースにアクセスできる接続が 1 つに限定されている場合は、次のトランザクションが開始される前に現在のトランザクションを完了して、同時実行を制限する必要があります。SQL Server Compact Edition では、別のデータにアクセスしたり変更を加える複数のアプリケーションを同時に実行できます。データベースの特定のリソースに対するアプリケーション間でデータ競合がほとんどない場合、複数のアプリケーションによるデータベースへのアクセスを許可することで、同時実行が向上します。
SQL Server Compact Edition データベースへのアクセスは、以下の方法で実行されます。
- 単一の接続 - 単一のアプリケーションが、SQL Server Compact Edition データベースへの接続を 1 つだけ確立します。
- 複数の接続 - 同期中のデータにアクセスする場合など、さまざまな操作をサポートするため、単一のアプリケーションが単一のデータベースに対して複数の接続を確立します。
メモ : アプリケーションで複数のスレッドを使用して、レプリケーションまたはリモート データ アクセス (RDA) 経由でデータへのアクセスまたはデータの変更を行う際は、同じインターネット ログオン資格情報を使用する必要があります。 - 複数のアプリケーション - デバイス上の複数のアプリケーションから、単一のデータベースに同時にアクセスできます。開発者は、排他接続を管理する必要はありません。データベースに別のアプリケーションが接続していても、ユーザーは SQL Server Compact Edition クエリ アナライザなどのデータベース ツールを使用できます。
アプリケーションで単一の接続が必要で、その他の接続またはアプリケーションが同時にデータベースにアクセスすることを望まない場合は、マルチユーザー アクセスが許可されないようにデータベースを排他的に開くことができます。排他接続の詳細については、「データベースを開く際にファイル モードを設定する方法 (プログラム)」および「OLE DB を使用してデータベースを開く際にファイル モードを設定する方法 (プログラム)」を参照してください。
ロックは、同時実行制御メカニズムとして機能します。ロックを使用することで、すべてのトランザクションを互いに完全に分離して実行できます。さらに、必要であれば、複数のトランザクションを実行することも可能です。詳細については、「ロック (SQL Server Compact Edition)」を参照してください。
データベースへの同時接続の数は、利用可能なリソースの数と量によって制限されます。たとえば、固定サイズのセッション テーブルでは、同時接続の数は最大 256 個に制限されています。
重要 : |
---|
SQL Server Compact Edition は 256 個の接続をサポートしていますが、使用する接続数は 100 個以内に制限することをお勧めします。 |
ロールまたは特権はサポートされていません。アプリケーションおよびユーザーは、SQL Server Compact Edition の以前のバージョンと同じ認証手順と承認手順を使用して、データベースに接続できます。セキュリティ手順の詳細については、「サーバー環境の構成とセキュリティ設定」を参照してください。
マルチユーザー アクセスは、SQL Server と SQL Server Compact Edition の間で同期中のデータに影響することがあります。詳細については、「マルチユーザー アクセスと RDA」および「マルチユーザー アクセスと同期」を参照してください。