接続の最適化 (SQL Server Compact Edition)
SQL Server 2005 Compact Edition では、SQL Server Compact Edition データベースと SQL Server データベース間でデータを同期することができます。同期は TCP/IP 経由で実行されるので、さまざまなネットワークや帯域幅でサポートされます。
パフォーマンスを最適化するには、ネットワーク接続の帯域幅に基づいて設定を変更します。次の表に、SQL Server Compact Edition でサポートされるいくつかの TCP/IP ネットワークで、使用される帯域幅を示します。
帯域幅 | ネットワークの種類 |
---|---|
高 |
|
中 |
|
低 |
|
データを携帯電話またはモバイル ネットワーク経由で同期する場合、サーバーに送信される要求およびサーバーからの応答がタイムアウトする可能性があります。これは、低帯域幅接続において、データ転送に必要な時間が長すぎる場合に発生します。タイムアウトが発生すると同期が失敗するため、タイムアウト値は長めに指定してください。
ただし、タイムアウトが問題にならない場合はタイムアウト値を低めに設定してください。高帯域幅接続においてサーバーからの応答遅延が発生する場合、サーバーが応答していない可能性が高いからです。したがって、デスクトップで実行するアプリケーションを LAN 経由でサーバーに接続する場合、およびデバイスを ActiveSync 接続でサーバーに接続する場合は、タイムアウト値を短めに設定する必要があります。
また、複数の種類のネットワークを経由してアプリケーションをサーバーに接続する場合は、ネットワークの帯域幅を検出して適切なタイムアウト値を設定する必要があります。
同期タイムアウト プロパティ
マージ レプリケーション プログラミング オブジェクトおよび RDA プログラミング オブジェクトでは、次のタイムアウト プロパティを設定してさまざまなネットワーク帯域幅での同期を最適化できます。
- ConnectionRetryTimeout
確立された接続が切断された後で、要求の再試行を続ける時間を秒単位で指定します。
- ConnectTimeout
サーバーへの接続を待機する時間をミリ秒単位で指定します。
- ReceiveTimeout
サーバーからの要求への応答を待機する時間をミリ秒単位で指定します。
- SendTimeout
サーバーへの要求送信を待機する時間をミリ秒単位で指定します。
タイムアウトの最適化
次の表に、ネットワーク帯域幅に基づくタイムアウトの推奨設定値を示します。
プロパティ | 高帯域幅 | 中帯域幅 | 低帯域幅 | 既定値 |
---|---|---|---|---|
ConnectionRetryTimeout (秒) |
30 |
60 |
120 |
120 |
ConnectTimeout (ミリ秒) |
3000 |
6000 |
12000 |
[なし] |
ReceiveTimeout (ミリ秒) |
1000 |
3000 |
6000 |
60000 |
SendTimeout (ミリ秒) |
1000 |
3000 |
6000 |
[なし] |
参照
関連項目
SqlCeRemoteDataAccess
SqlCeReplication
概念
リモート データ アクセス (RDA) の使用
マージ レプリケーションの使用
その他の技術情報
パフォーマンスの向上 (SQL Server Compact Edition)
SQL Server Compact Edition リモート データ アクセスのプログラミング
SQL Server Compact Edition レプリケーションのプログラミング